PluginProbe
Elementor Website Builder – more than just a page builder / 3.35.7
Elementor Website Builder – more than just a page builder v3.35.7
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
← All changes | modules/variables/module.php +31 -14 4.3.0-beta13.35.7 View file →
@@ -2,23 +2,25 @@
2 2
3 3 namespace Elementor\Modules\Variables;
4 4
5 5 use Elementor\Core\Base\Module as BaseModule;
6 +use Elementor\Core\Experiments\Manager as ExperimentsManager;
6 7 use Elementor\Modules\AtomicWidgets\Module as AtomicWidgetsModule;
7 8 use Elementor\Modules\Variables\Classes\Variable_Types_Registry;
8 -use Elementor\Modules\Variables\ImportExportCustomization\Import_Export_Customization;
9 9 use Elementor\Modules\Variables\PropTypes\Color_Variable_Prop_Type;
10 10 use Elementor\Modules\Variables\PropTypes\Font_Variable_Prop_Type;
11 -use Elementor\Modules\Variables\Storage\Constants;
11 +use Elementor\Modules\Variables\PropTypes\Size_Variable_Prop_Type;
12 12 use Elementor\Plugin;
13 +use Elementor\Utils;
13 14
14 15 if ( ! defined( 'ABSPATH' ) ) {
15 - exit;
16 + exit; // Exit if accessed directly.
16 17 }
17 18
18 19 class Module extends BaseModule {
19 20 const MODULE_NAME = 'e-variables';
20 - const EXPERIMENT_NAME = AtomicWidgetsModule::EXPERIMENT_NAME;
21 + const EXPERIMENT_NAME = 'e_variables';
22 + const EXPERIMENT_MANAGER_NAME = 'e_variables_manager';
21 23
22 24 private Variable_Types_Registry $variable_types_registry;
23 25
24 26 public function get_name() {
@@ -24,8 +26,19 @@
24 26 public function get_name() {
25 27 return self::MODULE_NAME;
26 28 }
27 29
30 + public static function get_experimental_data(): array {
31 + return [
32 + 'name' => self::EXPERIMENT_NAME,
33 + 'title' => esc_html__( 'Variables', 'elementor' ),
34 + 'description' => esc_html__( 'Enable variables. (For this feature to work - Atomic Widgets must be active)', 'elementor' ),
35 + 'hidden' => true,
36 + 'default' => ExperimentsManager::STATE_ACTIVE,
37 + 'release_status' => ExperimentsManager::RELEASE_STATUS_ALPHA,
38 + ];
39 + }
40 +
28 41 private function hooks() {
29 42 return new Hooks();
30 43 }
31 44
@@ -34,20 +47,30 @@
34 47
35 48 if ( ! $this->is_experiment_active() ) {
36 49 return;
37 50 }
51 + $this->register_features();
38 52
39 53 $this->hooks()->register();
40 54
41 - ( new Import_Export_Customization() )->register_hooks();
42 -
43 55 add_action( 'init', [ $this, 'init_variable_types_registry' ] );
44 - add_filter( 'elementor/kit/meta_to_preserve_on_kit_import', [ $this, 'add_meta_to_preserve_on_kit_import' ] );
45 56 add_action( 'elementor/editor/before_enqueue_scripts', fn () => $this->enqueue_editor_scripts() );
46 57 }
47 58
59 + private function register_features() {
60 + Plugin::$instance->experiments->add_feature([
61 + 'name' => self::EXPERIMENT_MANAGER_NAME,
62 + 'title' => esc_html__( 'Variables Manager', 'elementor' ),
63 + 'description' => esc_html__( 'Enable variables manager. (For this feature to work - Variables must be active)', 'elementor' ),
64 + 'hidden' => true,
65 + 'default' => ExperimentsManager::STATE_ACTIVE,
66 + 'release_status' => ExperimentsManager::RELEASE_STATUS_ALPHA,
67 + ]);
68 + }
69 +
48 70 private function is_experiment_active(): bool {
49 - return Plugin::$instance->experiments->is_feature_active( AtomicWidgetsModule::EXPERIMENT_NAME );
71 + return Plugin::$instance->experiments->is_feature_active( self::EXPERIMENT_NAME )
72 + && Plugin::$instance->experiments->is_feature_active( AtomicWidgetsModule::EXPERIMENT_NAME );
50 73 }
51 74
52 75 public function init_variable_types_registry(): void {
53 76 $this->variable_types_registry = new Variable_Types_Registry();
@@ -73,12 +96,6 @@
73 96 'elementor-common',
74 97 'window.ElementorVariablesQuotaConfig = ' . wp_json_encode( $this->get_quota_config() ) . ';',
75 98 'before'
76 99 );
77 - }
78 -
79 - public function add_meta_to_preserve_on_kit_import( array $meta_keys ): array {
80 - return array_merge( $meta_keys, [
81 - Constants::VARIABLES_META_KEY,
82 - ] );
83 100 }
84 101 }