PluginProbe
Elementor Website Builder – more than just a page builder / 3.32.2
Elementor Website Builder – more than just a page builder v3.32.2
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 | core/experiments/manager.php +6 -18 4.2.0-dev23.32.2 View file →
@@ -120,11 +120,9 @@
120 120 private function install_compare( $version ) {
121 121 $installs_history = Upgrade_Manager::get_installs_history();
122 122
123 123 if ( empty( $installs_history ) ) {
124 - // Fresh installation: upgrade manager hasn't written history yet on this first request.
125 - // Use the current plugin version as the effective first-install version.
126 - return version_compare( ELEMENTOR_VERSION, $version, '>=' );
124 + return false;
127 125 }
128 126
129 127 $cleaned_version = preg_replace( '/-(beta|cloud|dev)\d*$/', '', key( $installs_history ) );
130 128
@@ -378,17 +376,8 @@
378 376 'default_active' => true,
379 377 'minimum_installation_version' => '3.30.0',
380 378 ],
381 379 ] );
382 -
383 - $this->add_feature( [
384 - 'name' => 'e_panel_promotions',
385 - 'title' => esc_html__( 'Panel Promotions', 'elementor' ),
386 - 'description' => esc_html__( 'Enable experimental rendering for targeted promotions within the elements panels.', 'elementor' ),
387 - 'release_status' => self::RELEASE_STATUS_DEV,
388 - 'default' => self::STATE_ACTIVE,
389 - 'type' => self::TYPE_HIDDEN,
390 - ] );
391 380 }
392 381
393 382 /**
394 383 * Init States
@@ -663,12 +652,9 @@
663 652 <div class="e-experiment__title">
664 653 <div class="<?php echo $indicator_classes; ?>" data-tooltip="<?php echo $indicator_tooltip; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>"></div>
665 654 <label class="e-experiment__title__label" for="e-experiment-<?php echo $feature['name']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>"><?php echo $feature['title']; ?></label>
666 655 <?php foreach ( $feature['tags'] as $tag ) { ?>
667 - <?php
668 - $tag_classes = 'e-experiment__title__tag e-experiment__title__tag__' . $tag['type'] . ' e-editor-one';
669 - ?>
670 - <span class="<?php echo esc_attr( $tag_classes ); ?>"><?php echo $tag['label']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></span>
656 + <span class="e-experiment__title__tag e-experiment__title__tag__<?php echo $tag['type']; ?>"><?php echo $tag['label']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></span>
671 657 <?php } ?>
672 658 <?php if ( $feature['deprecated'] ) { ?>
673 659 <span class="e-experiment__title__tag e-experiment__title__tag__deprecated"><?php echo esc_html__( 'Deprecated', 'elementor' ); ?></span>
674 660 <?php } ?>
@@ -739,8 +725,10 @@
739 725 *
740 726 * @param array $old_feature_data
741 727 * @param string $new_state
742 728 * @param string $old_state
729 + *
730 + * @throws Dependency_Exception If the feature dependency is not available or not active.
743 731 */
744 732 private function on_feature_state_change( array $old_feature_data, $new_state, $old_state ) {
745 733 $new_feature_data = $this->get_features( $old_feature_data['name'] );
746 734 $this->validate_dependency( $new_feature_data, $new_state );
@@ -757,9 +745,9 @@
757 745 do_action( 'elementor/experiments/feature-state-change/' . $old_feature_data['name'], $old_state, $new_state );
758 746 }
759 747
760 748 /**
761 - * @throws Exceptions\Dependency_Exception If the feature dependency is not available or not active.
749 + * @throws Dependency_Exception If the feature dependency is not available or not active.
762 750 */
763 751 private function validate_dependency( array $feature, $new_state ) {
764 752 $rollback = function ( $feature_option_key, $state ) {
765 753 remove_all_actions( 'add_option_' . $feature_option_key );
@@ -947,9 +935,9 @@
947 935 /**
948 936 * @param array $experimental_data
949 937 * @return array
950 938 *
951 - * @throws Exceptions\Dependency_Exception If the feature dependency is not initialized or depends on a hidden experiment.
939 + * @throws Dependency_Exception If the feature dependency is not initialized or depends on a hidden experiment.
952 940 */
953 941 private function initialize_feature_dependencies( array $experimental_data ): array {
954 942 foreach ( $experimental_data['dependencies'] as $key => $dependency ) {
955 943 $feature = $this->get_features( $dependency );