Server IP : 15.235.198.142 / Your IP : 216.73.216.190 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/yme/wp-content/plugins/elementor/modules/atomic-widgets/ |
Upload File : |
<?php namespace Elementor\Modules\AtomicWidgets; use Elementor\Core\Common\Modules\Ajax\Module as Ajax; use Elementor\Core\Experiments\Manager as Experiments_Manager; use Elementor\Modules\EditorAppBar\Module as EditorAppBarModule; use Elementor\Modules\GlobalClasses\Module as GlobalClassesModule; use Elementor\Modules\NestedElements\Module as NestedElementsModule; use Elementor\Modules\AtomicWidgets\Module as AtomicWidgetsModule; use Elementor\Plugin; class Opt_In { const EXPERIMENT_NAME = 'e_opt_in_v4'; const OPT_OUT_FEATURES = [ self::EXPERIMENT_NAME, AtomicWidgetsModule::EXPERIMENT_NAME, GlobalClassesModule::NAME, ]; const OPT_IN_FEATURES = [ self::EXPERIMENT_NAME, 'container', NestedElementsModule::EXPERIMENT_NAME, EditorAppBarModule::EXPERIMENT_NAME, AtomicWidgetsModule::EXPERIMENT_NAME, GlobalClassesModule::NAME, ]; public function init() { $this->register_feature(); add_action( 'elementor/ajax/register_actions', fn( Ajax $ajax ) => $this->add_ajax_actions( $ajax ) ); } private function register_feature() { Plugin::$instance->experiments->add_feature([ 'name' => self::EXPERIMENT_NAME, 'title' => esc_html__( 'Editor V4', 'elementor' ), 'description' => esc_html__( 'Enable Editor V4.', 'elementor' ), 'hidden' => true, 'default' => Experiments_Manager::STATE_INACTIVE, 'release_status' => Experiments_Manager::RELEASE_STATUS_ALPHA, ]); } private function opt_out_v4() { foreach ( self::OPT_OUT_FEATURES as $feature ) { $feature_key = Plugin::$instance->experiments->get_feature_option_key( $feature ); update_option( $feature_key, Experiments_Manager::STATE_INACTIVE ); } } private function opt_in_v4() { foreach ( self::OPT_IN_FEATURES as $feature ) { $feature_key = Plugin::$instance->experiments->get_feature_option_key( $feature ); update_option( $feature_key, Experiments_Manager::STATE_ACTIVE ); } } public function ajax_opt_out_v4() { if ( ! current_user_can( 'manage_options' ) ) { throw new \Exception( 'Permission denied' ); } $this->opt_out_v4(); } public function ajax_opt_in_v4() { if ( ! current_user_can( 'manage_options' ) ) { throw new \Exception( 'Permission denied' ); } $this->opt_in_v4(); } private function add_ajax_actions( Ajax $ajax ) { $ajax->register_ajax_action( 'editor_v4_opt_in', fn() => $this->ajax_opt_in_v4() ); $ajax->register_ajax_action( 'editor_v4_opt_out', fn() => $this->ajax_opt_out_v4() ); } }