PluginProbe
Elementor Website Builder – more than just a page builder / 3.17.1
Elementor Website Builder – more than just a page builder v3.17.1
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
elementor / modules / site-navigation / module.php

module.php in Elementor Website Builder – more than just a page builder 3.17.1, at modules/site-navigation/module.php

82 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Elementor\Modules\SiteNavigation;
4
5 use Elementor\Core\Base\Module as Module_Base;
6 use Elementor\Core\Experiments\Manager as Experiments_Manager;
7 use Elementor\Modules\SiteNavigation\Data\Controller;
8 use Elementor\Plugin;
9 use Elementor\Utils;
10
11 if ( ! defined( 'ABSPATH' ) ) {
12 exit; // Exit if accessed directly
13 }
14
15 class Module extends Module_Base {
16 const PAGES_PANEL_EXPERIMENT_NAME = 'pages_panel';
17
18 /**
19 * Initialize the Container-Converter module.
20 * @return void
21 * @throws \Exception
22 */
23 public function __construct() {
24 Plugin::$instance->data_manager_v2->register_controller( new Controller() );
25
26 $this->register_pages_panel_experiment();
27
28 if ( Plugin::$instance->experiments->is_feature_active( self::PAGES_PANEL_EXPERIMENT_NAME ) ) {
29 add_filter( 'elementor/editor/v2/scripts/env', function ( $env ) {
30 $env['@elementor/editor-site-navigation'] = [
31 'is_pages_panel_active' => true,
32 ];
33
34 return $env;
35 } );
36 }
37 }
38
39 /**
40 * Retrieve the module name.
41 *
42 * @return string
43 */
44 public function get_name() {
45 return 'site-navigation';
46 }
47
48 /**
49 * Determine whether the module is active.
50 *
51 * @return bool
52 */
53 public static function is_active() {
54 if ( Utils::is_elementor_tests() ) {
55 return true;
56 }
57
58 return Plugin::$instance->experiments->is_feature_active( 'editor_v2' );
59 }
60
61 /**
62 * Register Experiment
63 *
64 * @since 3.16.0
65 *
66 * @return void
67 * @throws \Exception
68 */
69 private function register_pages_panel_experiment() {
70 Plugin::$instance->experiments->add_feature( [
71 'name' => self::PAGES_PANEL_EXPERIMENT_NAME,
72 'title' => esc_html__( 'Pages Panel', 'elementor' ),
73 'release_status' => Experiments_Manager::RELEASE_STATUS_ALPHA,
74 'default' => Experiments_Manager::STATE_INACTIVE,
75 'hidden' => true,
76 'dependencies' => [
77 'editor_v2',
78 ],
79 ] );
80 }
81 }
82