/
var
/
www
/
wp2.qr4y.com
/
www
/
wp-content
/
plugins
/
elementor
/
modules
/
interactions
/
/var/www/wp2.qr4y.com/www/wp-content/plugins/elementor/modules/interactions
mkdir
upload
Name
Size
Mode
Actions
module.php
3996
0644
edit
dl
rm
parser.php
2221
0644
edit
dl
rm
presets.php
2699
0644
edit
dl
rm
validation.php
3642
0644
edit
dl
rm
Edit:
/var/www/wp2.qr4y.com/www/wp-content/plugins/elementor/modules/interactions/module.php
(3996B)
<?php namespace Elementor\Modules\Interactions; use Elementor\Core\Base\Module as BaseModule; use Elementor\Core\Experiments\Manager as Experiments_Manager; use Elementor\Modules\AtomicWidgets\Module as AtomicWidgetsModule; use Elementor\Plugin; use Elementor\Utils; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } class Module extends BaseModule { const MODULE_NAME = 'e-interactions'; const EXPERIMENT_NAME = 'e_interactions'; public function get_name() { return self::MODULE_NAME; } private $preset_animations; private function get_presets() { if ( ! $this->preset_animations ) { $this->preset_animations = new Presets(); } return $this->preset_animations; } public static function get_experimental_data() { return [ 'name' => self::EXPERIMENT_NAME, 'title' => esc_html__( 'Interactions', 'elementor' ), 'description' => esc_html__( 'Enable element interactions.', 'elementor' ), 'hidden' => true, 'default' => Experiments_Manager::STATE_ACTIVE, 'release_status' => Experiments_Manager::RELEASE_STATUS_DEV, ]; } public function is_experiment_active() { return Plugin::$instance->experiments->is_feature_active( self::EXPERIMENT_NAME ) && Plugin::$instance->experiments->is_feature_active( AtomicWidgetsModule::EXPERIMENT_NAME ); } public function __construct() { parent::__construct(); if ( ! $this->is_experiment_active() ) { return; } add_action( 'elementor/frontend/after_register_scripts', fn () => $this->register_frontend_scripts() ); add_action( 'elementor/editor/before_enqueue_scripts', fn () => $this->enqueue_editor_scripts() ); add_action( 'elementor/frontend/before_enqueue_scripts', fn () => $this->enqueue_interactions() ); add_action( 'elementor/preview/enqueue_scripts', fn () => $this->enqueue_preview_scripts() ); add_action( 'elementor/editor/after_enqueue_scripts', fn () => $this->enqueue_editor_scripts() ); add_filter( 'elementor/document/save/data', /** * @throws \Exception */ function( $data, $document ) { $validation = new Validation( $this->get_presets() ); $document_after_sanitization = $validation->sanitize( $data ); $validation->validate(); return $document_after_sanitization; }, 10, 2 ); add_filter( 'elementor/document/save/data', function( $data, $document ) { return ( new Parser( $document->get_main_id() ) )->assign_interaction_ids( $data ); }, 11, 2 ); } private function get_config() { return [ 'constants' => $this->get_presets()->defaults(), 'animationOptions' => $this->get_presets()->list(), ]; } private function register_frontend_scripts() { $suffix = ( Utils::is_script_debug() || Utils::is_elementor_tests() ) ? '' : '.min'; wp_register_script( 'motion-js', ELEMENTOR_ASSETS_URL . 'lib/motion/motion' . $suffix . '.js', [], '11.13.5', true ); wp_register_script( 'elementor-interactions', $this->get_js_assets_url( 'interactions' ), [ 'motion-js' ], '1.0.0', true ); wp_register_script( 'elementor-editor-interactions', $this->get_js_assets_url( 'editor-interactions' ), [ 'motion-js' ], '1.0.0', true ); } public function enqueue_interactions(): void { wp_enqueue_script( 'motion-js' ); wp_enqueue_script( 'elementor-interactions' ); wp_localize_script( 'elementor-interactions', 'ElementorInteractionsConfig', $this->get_config() ); } public function enqueue_editor_scripts() { wp_add_inline_script( 'elementor-common', 'window.ElementorInteractionsConfig = ' . wp_json_encode( $this->get_config() ) . ';', 'before' ); } public function enqueue_preview_scripts() { // Ensure motion-js and editor-interactions handler are available in preview iframe wp_enqueue_script( 'motion-js' ); wp_enqueue_script( 'elementor-editor-interactions' ); wp_localize_script( 'elementor-editor-interactions', 'ElementorInteractionsConfig', $this->get_config() ); } }
Save
cmd:
run