| Server IP : 219.234.31.115 / Your IP : 216.73.217.134 Web Server : Apache System : Linux ebs-140924 5.10.0-30-amd64 #1 SMP Debian 5.10.218-1 (2024-06-01) x86_64 User : vndaystarftp ( 67432) PHP Version : 7.3.33 Disable Function : link,symlink,passthru,exec,system,shell_exec,proc_open,popen,pcntl_exec,socket_bind,stream_socket_server,pcntl_fork,pcntl_rfork MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/wwwroot/vndaystarftp/wwwroot/wp-content/plugins/elementor-pro/modules/motion-fx/ |
Upload File : |
<?php
namespace ElementorPro\Modules\MotionFX;
use Elementor\Element_Base;
use Elementor\Element_Column;
use Elementor\Element_Section;
use ElementorPro\Base\Module_Base;
use ElementorPro\Plugin;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
class Module extends Module_Base {
public function __construct() {
parent::__construct();
$this->add_actions();
}
/**
* Get module name.
*
* Retrieve the module name.
*
* @since 2.5.0
* @access public
*
* @return string Module name.
*/
public function get_name() {
return 'motion-fx';
}
public function register_controls_group() {
Plugin::elementor()->controls_manager->add_group_control( Controls_Group::get_type(), new Controls_Group() );
}
public function add_controls_group_to_element( Element_Base $element ) {
$exclude = [];
$selector = '{{WRAPPER}}';
if ( $element instanceof Element_Section ) {
$exclude[] = 'motion_fx_mouse';
} elseif ( $element instanceof Element_Column ) {
$selector .= ' > .elementor-widget-wrap';
} else {
$selector .= ' > .elementor-widget-container';
}
$element->add_group_control(
Controls_Group::get_type(),
[
'name' => 'motion_fx',
'selector' => $selector,
'exclude' => $exclude,
]
);
}
public function add_controls_group_to_element_background( Element_Base $element ) {
$element->start_injection( [
'of' => 'background_bg_width_mobile',
] );
$element->add_group_control(
Controls_Group::get_type(),
[
'name' => 'background_motion_fx',
'exclude' => [
'rotateZ_effect',
'tilt_effect',
'transform_origin_x',
'transform_origin_y',
],
]
);
$options = [
'separator' => 'before',
'conditions' => [
'relation' => 'or',
'terms' => [
[
'name' => 'background_background',
'value' => 'classic',
],
[
'terms' => [
[
'name' => 'background_background',
'value' => 'gradient',
],
[
'name' => 'background_color',
'operator' => '!==',
'value' => '',
],
[
'name' => 'background_color_b',
'operator' => '!==',
'value' => '',
],
],
],
],
],
];
$element->update_control( 'background_motion_fx_motion_fx_scrolling', $options );
$element->update_control( 'background_motion_fx_motion_fx_mouse', $options );
$element->end_injection();
}
public function localize_settings( array $settings ) {
$settings['i18n']['motion_effects'] = __( 'Motion Effects', 'elementor-pro' );
return $settings;
}
private function add_actions() {
add_action( 'elementor/controls/controls_registered', [ $this, 'register_controls_group' ] );
add_action( 'elementor/element/section/section_effects/after_section_start', [ $this, 'add_controls_group_to_element' ] );
add_action( 'elementor/element/column/section_effects/after_section_start', [ $this, 'add_controls_group_to_element' ] );
add_action( 'elementor/element/common/section_effects/after_section_start', [ $this, 'add_controls_group_to_element' ] );
add_action( 'elementor/element/section/section_background/before_section_end', [ $this, 'add_controls_group_to_element_background' ] );
add_action( 'elementor/element/column/section_style/before_section_end', [ $this, 'add_controls_group_to_element_background' ] );
add_filter( 'elementor_pro/editor/localize_settings', [ $this, 'localize_settings' ] );
}
}