403Webshell
Server IP : 213.186.33.4  /  Your IP : 216.73.216.146
Web Server : Apache
System : Linux webm005.cluster103.gra.hosting.ovh.net 6.18.39-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Tue Jul 21 12:03:15 CEST 2026 x86_64
User : karinebmkh ( 644538)
PHP Version : 8.4.22
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/karinebmkh/www/wp-content/plugins/divi-pixel/includes/modules/TiltImage/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/karinebmkh/www/wp-content/plugins/divi-pixel/includes/modules/TiltImage/TiltImage.php
<?php
class DIPI_TiltImage extends DIPI_Builder_Module 
{

    public $slug = 'dipi_tilt_image';

    protected $module_credits = array(
        'module_uri' => 'https://divi-pixel.com/modules/tilt_image',
        'author' => 'Divi Pixel',
        'author_uri' => 'https://divi-pixel.com'
    );

    public function init()
    {
        $this->icon_path = plugin_dir_path(__FILE__) . "dp-tilt.svg";
        $this->vb_support = 'on';
        $this->name = esc_html__('Pixel Tilt Image', 'dipi-divi-pixel');
        $this->main_css_element = '%%order_class%%.dipi_tilt_image';
        $this->settings_modal_toggles = [
            'general' => [
                'toggles' => [
                    'general' => esc_html__('General', 'dipi-divi-pixel'),
                    'tilt_settings' => esc_html__('Tilt Settings', 'dipi-divi-pixel'),
                    'overlay_content' => esc_html__('Overlay Content', 'dipi-divi-pixel'),
                ],
            ],
            'advanced' => [
                'toggles' => [
                    'overlay' => esc_html__('Overlay', 'dipi-divi-pixel'),
                    'tilt_icon_image'  => esc_html__('Image & Icon', 'dipi-divi-pixel'),
                    'alignment' => esc_html__('Alignment', 'dipi-divi-pixel'),
                    'tilt_text'    => array(
                        'sub_toggles'        => array(
                            'title'        => array(
                                'name'        => 'Title',
                            ),
                            'description'        => array(
                                'name'        => 'Desc',
                            ),
                        ),
                        'tabbed_subtoggles'    => true,
                        'title'             => esc_html__('Tilt Text', 'dipi-divi-pixel'),
                    ),
                ],
            ],
        ];
    }

    public function get_custom_css_fields_config()
    {

        $fields = [];

        $fields['dipi_icon'] = [
            'label'    => esc_html__('Icon', 'dipi-divi-pixel'),
            'selector' => '%%order_class%% .dipi-tilt-overlay-icon',
        ];

        $fields['dipi_title'] = [
            'label'    => esc_html__('Title', 'dipi-divi-pixel'),
            'selector' => '%%order_class%% .dipi-tilt-overlay-title',
        ];

        $fields['dipi_description'] = [
            'label'    => esc_html__('Description', 'dipi-divi-pixel'),
            'selector' => '%%order_class%% .dipi-tilt-overlay-desc',
        ];

        $fields['dipi_button'] = [
            'label'    => esc_html__('Button', 'dipi-divi-pixel'),
            'selector' => '%%order_class%% .dipi-overlay-button',
        ];

        return $fields;
    }

    public function get_fields()
    {

        $fields = [];

        $fields["image"] = [
            'label' => esc_html__('Image', 'dipi-divi-pixel'),
            'type'               => 'upload',
            'option_category'    => 'basic_option',
            'upload_button_text' => esc_attr__('Upload an image', 'dipi-divi-pixel'),
            'choose_text'        => esc_attr__('Choose an Image', 'dipi-divi-pixel'),
            'update_text'        => esc_attr__('Set As Image', 'dipi-divi-pixel'),
            'description'        => esc_html__('Upload an image to display as before image', 'dipi-divi-pixel'),
            'hide_metadata'      => true,
            'toggle_slug'        => 'general',
            'dynamic_content'    => 'image'
        ];

        $fields["titl_image_box_height"] = [
            'label' => esc_html__('Tilt Image Box Height', 'dipi-divi-pixel'),
            'type' => 'range',
            'validate_unit' => true,
            'default' => '380px',
            'default_on_front' => '380px',
            'default_unit' => 'px',
            'range_settings' => [
                'min' => '0',
                'max' => '1000',
                'step' => '1'
            ],
            'mobile_options' => true,
            'responsive' => true,
            'toggle_slug' => 'general',
        ];

        $fields["tilt_max"] = [
            'label' => esc_html__('Max Tilt Rotation', 'dipi-divi-pixel'),
            'type' => 'range',
            'default' => '15',
            'unitless' => true,
            'range_settings' => [
                'min' => '0',
                'max' => '60',
                'step' => '1'
            ],
            'toggle_slug' => 'tilt_settings'
        ];

        $fields["tilt_speed"] = [
            'label' => esc_html__('Tilt Speed', 'dipi-divi-pixel'),
            'type' => 'range',
            'default' => '600',
            'unitless' => true,
            'range_settings' => [
                'min' => '0',
                'max' => '2000',
                'step' => '100'
            ],
            'toggle_slug' => 'tilt_settings'
        ];

        $fields["tilt_perspective"] = [
            'label' => esc_html__('Tilt Perspective', 'dipi-divi-pixel'),
            'type' => 'range',
            'default' => '1000',
            'unitless' => true,
            'range_settings' => [
                'min' => '0',
                'max' => '2000',
                'step' => '10'
            ],
            'toggle_slug' => 'tilt_settings'
        ];

        $fields["tilt_scale"] = [
            'label' => esc_html__('Tilt Scale', 'dipi-divi-pixel'),
            'type' => 'range',
            'default' => '1',
            'unitless' => true,
            'range_settings' => [
                'min' => '0',
                'max' => '2',
                'step' => '.01'
            ],
            'toggle_slug' => 'tilt_settings'
        ];

        $fields["tilt_reverse"]    = [
            'label' => esc_html__('Reverse Direction', 'dipi-divi-pixel'),
            'type' => 'yes_no_button',
            'option_category'  => 'configuration',
            'options' => [
                'on'  => esc_html__('Yes', 'dipi-divi-pixel'),
                'off' => esc_html__('No', 'dipi-divi-pixel'),
            ],
            'default_on_front' => 'on',
            'toggle_slug'         => 'tilt_settings'
        ];

        $fields["use_tilt_glare"]    = [
            'label' => esc_html__('Use Glare Effect', 'dipi-divi-pixel'),
            'type' => 'yes_no_button',
            'option_category'  => 'configuration',
            'options' => [
                'on'  => esc_html__('Yes', 'dipi-divi-pixel'),
                'off' => esc_html__('No', 'dipi-divi-pixel'),
            ],
            'default_on_front' => 'off',
            'toggle_slug'         => 'tilt_settings',
            'affects'         => [
                'tilt_glare'
            ]
        ];

        $fields["tilt_glare"] = [
            'label' => esc_html__('Glare Effect', 'dipi-divi-pixel'),
            'type' => 'range',
            'unitless' => true,
            'validate_unit' => true,
            'default' => '1',
            'default_unit' => '',
            'default_on_front' => '1',
            'range_settings' => [
                'min'  => '0.1',
                'max'  => '1',
                'step' => '0.1',
            ],
            'depends_show_if' => 'on',
            'toggle_slug' => 'tilt_settings',
        ];

        $fields["tilt_parallax"]    = [
            'label' => esc_html__('Parallax/3D Pop Out Effect', 'dipi-divi-pixel'),
            'type' => 'yes_no_button',
            'options' => [
                'on'  => esc_html__('Yes', 'dipi-divi-pixel'),
                'off' => esc_html__('No', 'dipi-divi-pixel'),
            ],
            'default' => 'on',
            'toggle_slug' => 'tilt_settings',
            'affects' => [
                'tilt_parallax_value'
            ]
        ];

        $fields["tilt_parallax_value"]    = [
            'label' => esc_html__('Parallax/3D Pop Out', 'dipi-divi-pixel'),
            'type' => 'range',
            'validate_unit' => true,
            'default' => '48px',
            'default_on_front' => '48px',
            'default_unit' => 'px',
            'range_settings' => [
                'min' => '0',
                'max' => '150',
                'step' => '1'
            ],
            'depends_show_if' => 'on',
            'toggle_slug' => 'tilt_settings'
        ];

        /**
         * Overlay Content
         */
        $fields["tilt_overlay_icon"] = [
            'label' => esc_html__('Show Icon', 'dipi-divi-pixel'),
            'type' => 'yes_no_button',
            'option_category'  => 'configuration',
            'options' => [
                'on' => esc_html__('Yes', 'dipi-divi-pixel'),
                'off' => esc_html__('No', 'dipi-divi-pixel'),
            ],
            'default' => 'off',
            'toggle_slug' => 'overlay_content',
            'affects' => [
                'tilt_overlay_font_icon',
                'tilt_overlay_icon_size', 
                'tilt_overlay_icon_color',
                'tilt_overlay_circle_icon',
                'tilt_overlay_circle_color',
                'tilt_overlay_circle_border',
                'tilt_overlay_circle_border_color'
            ]
        ];

        $fields["tilt_overlay_image"] = [
            'label'              => esc_html__('Image', 'dipi-divi-pixel'),
            'type'               => 'upload',
            'option_category'    => 'basic_option',
            'upload_button_text' => esc_attr__('Upload an image', 'dipi-divi-pixel'),
            'choose_text'        => esc_attr__('Choose an Image', 'dipi-divi-pixel'),
            'update_text'        => esc_attr__('Set As Image', 'dipi-divi-pixel'),
            'hide_metadata'      => true,
            'toggle_slug'        => 'overlay_content',
            'show_if'            => ['tilt_overlay_icon' => 'off'],
            'dynamic_content'    => 'image'
        ];

        $fields["tilt_overlay_image_width"] = [
            'label' => esc_html__('Image Width', 'dipi-divi-pixel'),
            'type'  => 'range',
            'default' => '100%',
            'default_unit' => '%',
            'validate_unit' => true,
            'range_settings' => [
                'min' => '0',
                'max' => '100',
                'step' => '1'
            ],
            'show_if'   => ['tilt_overlay_icon' => 'off'],
            'tab_slug'  => 'advanced',
            'toggle_slug' => 'width'
        ];

        $fields["tilt_overlay_font_icon"] = [
            'label'              => esc_html__('Icon', 'dipi-divi-pixel'),
            'type'               => 'select_icon',
            'option_category'    => 'basic_option',
            'class'              => array('et-pb-font-icon'),
            'toggle_slug'        => 'overlay_content',
            'depends_show_if'    => 'on',
        ];

        $fields["tilt_overlay_icon_color"] = [
            'label' => esc_html__('Icon Color', 'dipi-divi-pixel'),
            'type'  => 'color-alpha',
            'default' => '#7EBEC5',
            'depends_show_if' => 'on',
            'tab_slug' => 'advanced',
            'toggle_slug' => 'tilt_icon_image',
        ];

        $fields["tilt_overlay_circle_icon"] = [
            'label' => esc_html__( 'Circle Icon', 'dipi-divi-pixel'),
            'type' => 'yes_no_button',
            'option_category' => 'configuration',
            'default' => 'off',
            'options' => [
                'on'  => esc_html__( 'Yes', 'dipi-divi-pixel' ),
                'off' => esc_html__( 'No', 'dipi-divi-pixel' ),
            ],
            'depends_show_if' => 'on',
            'tab_slug' => 'advanced',
            'toggle_slug' => 'tilt_icon_image'
        ];

        $fields["tilt_overlay_circle_color"] = [
          'label'          => esc_html__( 'Circle Color', 'dipi-divi-pixel'),
          'type'           => 'color-alpha',
          'custom_color'   => true,
          'show_if'     => array(
            'tilt_overlay_circle_icon'   => 'on'
          ),
          'depends_show_if'    => 'on',
          'tab_slug'          => 'advanced',
          'toggle_slug'       => 'tilt_icon_image'
        ];

        $fields["tilt_overlay_circle_border"] = [
          'label'             => esc_html__( 'Show Circle Border', 'dipi-divi-pixel'),
          'type'             => 'yes_no_button',
          'option_category'  => 'configuration',
          'default'          => 'off',
          'options'          => [
            'on'  => esc_html__( 'Yes', 'dipi-divi-pixel' ),
            'off' => esc_html__( 'No', 'dipi-divi-pixel' ),
          ],
          'depends_show_if'    => 'on',
          'tab_slug'          => 'advanced',
          'toggle_slug'       => 'tilt_icon_image'
        ];

        $fields["tilt_overlay_circle_border_color"] = [
            'label' => esc_html__( 'Circle Border Color', 'dipi-divi-pixel'),
            'type' => 'color-alpha',
            'custom_color' => true,
            'show_if' => [
                'tilt_overlay_circle_border'   => 'on',
            ],
            'depends_show_if' => 'on',
            'tab_slug' => 'advanced',
            'toggle_slug' => 'tilt_icon_image'
        ];

        $fields["tilt_overlay_icon_size"] = [
          'label' => esc_html__('Icon Font Size', 'dipi-divi-pixel'),
          'type' => 'range',
          'validate_unit' => true,
          'default' => '60px',
          'default_unit' => 'px',
          'range_settings'  => array(
            'min' => '0',
            'max' => '100',
            'step' => '1'
          ),
          'depends_show_if' => 'on',
          'tab_slug' => 'advanced',
          'toggle_slug' => 'tilt_icon_image',
        ];

        $fields["tilt_overlay_color"] = [
            'label'             => esc_html__('Overlay Color', 'et_builder'),
            'type'              => 'color-alpha',
            'depends_show_if'   => 'on',
            'tab_slug'          => 'advanced',
            'toggle_slug'       => 'overlay'
        ];

        $fields["tilt_overlay_title"]    = [
            'label'               => esc_html__('Show Title', 'dipi-divi-pixel'),
            'type'             => 'yes_no_button',
            'option_category'  => 'configuration',
            'options'          => array(
                'on'      => esc_html__('Yes', 'dipi-divi-pixel'),
                'off'     => esc_html__('No', 'dipi-divi-pixel'),
            ),
            'default'         => 'off',
            'toggle_slug'         => 'overlay_content',
            'affects'         => [
                'tilt_overlay_title_text'
            ]
        ];

        $fields["tilt_overlay_title_text"] = [
            'label' => esc_html__('Overlay Title', 'dipi-divi-pixel'),
            'type' => 'text',
            'option_category' => 'basic_option',
            'depends_show_if' => 'on',
            'toggle_slug' => 'overlay_content'
        ];

        $fields["tilt_overlay_desc"]    = [
            'label'            => esc_html__('Show Description', 'dipi-divi-pixel'),
            'type'             => 'yes_no_button',
            'option_category'  => 'configuration',
            'default'          => 'off',
            'options'          => array(
                'on' => esc_html__('Yes', 'dipi-divi-pixel'),
                'off' => esc_html__('No', 'dipi-divi-pixel'),
            ),
            'toggle_slug' => 'overlay_content',
            'affects' => [
              'tilt_overlay_desc_text'
            ]
        ];

        $fields["tilt_overlay_desc_text"] = [
          'label'           => esc_html__('Overlay Description', 'dipi-divi-pixel'),
          'type'            => 'tiny_mce',
          'toggle_slug'     => 'overlay_content',
          'option_category' => 'basic_option',
          'depends_show_if' => 'on',
          'dynamic_content' => 'text',
          'mobile_options'  => true,
        ];

        $fields["tilt_overlay_btn"] = [
          'label'            => esc_html__('Show Button', 'dipi-divi-pixel'),
          'type'             => 'yes_no_button',
          'option_category'  => 'configuration',
          'default'          => 'off',
          'options'          => array(
            'on' => esc_html__('Yes', 'dipi-divi-pixel'),
            'off' => esc_html__('No', 'dipi-divi-pixel'),
          ),
          'toggle_slug'         => 'overlay_content',
        ];

        $fields["tilt_overlay_btn_text"] = [
            'label'           => esc_html__('Button Text', 'dipi-divi-pixel'),
            'type'            => 'text',
            'option_category' => 'basic_option',
            'default' => esc_html__('Click Here', 'dipi-divi-pixel'),
            'toggle_slug'     => 'overlay_content',
            'depends_show_if' => 'on',
            'depends_on'         => [
                'tilt_overlay_btn'
            ],
        ];

        $fields["tilt_overlay_btn_link"] = [
            'label' => esc_html__('Button Link', 'dipi-divi-pixel'),
            'type' => 'text',
            'option_category' => 'basic_option',
            'depends_show_if' => 'on',
            'depends_on'         => [
                'tilt_overlay_btn'
            ],
            'toggle_slug' => 'overlay_content'
        ];

        $fields["tilt_overlay_btn_link_target"] = [
            'label'           => esc_html__('Button Link Target', 'dipi-divi-pixel'),
            'type'            => 'select',
            'option_category' => 'basic_option',
            'default'         => 'in_same_window',
            'options' => array(
              'in_same_window' => esc_html__('In The Same Window', 'dipi-divi-pixel'),
              'new_window' => esc_html__('In The New Window', 'dipi-divi-pixel'),
            ),
            'depends_show_if' => 'on',
            'depends_on'         => [
                'tilt_overlay_btn'
            ],
            'toggle_slug' => 'overlay_content'
        ];

        $fields["tilt_overlay_align_vertical"] = [
            'label'           => esc_html__('Content Align Vertical', 'dipi-divi-pixel'),
            'type'            => 'select',
            'option_category' => 'basic_option',
            'default'         => 'middle',
            'options' => array(
                'top'     => esc_html__('Top', 'dipi-divi-pixel'),
                'middle'  => esc_html__('Middle', 'dipi-divi-pixel'),
                'bottom'  => esc_html__('Bottom', 'dipi-divi-pixel'),
            ),
            'toggle_slug' => 'alignment',
            'tab_slug' => 'advanced',
        ];

        $fields["tilt_overlay_align_horizontal"] = [
            'label'           => esc_html__('Content Align Horizontal', 'dipi-divi-pixel'),
            'type'            => 'select',
            'option_category' => 'basic_option',
            'default'         => 'center',
            'options' => array(
              'left'     => esc_html__('Left', 'dipi-divi-pixel'),
              'center'   => esc_html__('Center', 'dipi-divi-pixel'),
              'right'    => esc_html__('Right', 'dipi-divi-pixel')
            ),
            'toggle_slug' => 'alignment',
            'tab_slug' => 'advanced',
        ];

        $fields["tilt_center_mobile"]    = [
            'label'               => esc_html__('Always Center Image On Mobile', 'dipi-divi-pixel'),
            'type'             => 'yes_no_button',
            'option_category'  => 'configuration',
            'options'          => array(
              'on'      => esc_html__('Yes', 'dipi-divi-pixel'),
              'off'     => esc_html__('No', 'dipi-divi-pixel'),
            ),
            'default'         => 'on',
            'toggle_slug' => 'alignment',
            'tab_slug' => 'advanced',
        ];


        return $fields;
    }

    public function get_advanced_fields_config()
    {
        
        $advanced_fields = [];
        $advanced_fields["text"] = false;
        $advanced_fields["text_shadow"] = false;
        $advanced_fields["fonts"] = false;

        $advanced_fields['margin_padding'] = [
            'css' => [
                'margin' => '%%order_class%%',
                'padding' => '%%order_class%%',
                'important' => 'all',
            ],
        ];

        $advanced_fields['background'] = [
            'css' => [
                'main' => '%%order_class%% .dipi-tilt-image',
                'important' => 'all',
            ],
        ];

        $advanced_fields['borders']['image'] = [
            'label' => esc_html__( 'Image Box Border', 'dipi-divi-pixel' ),
            'depends_on'    => ['tilt_overlay_icon'],
            'depends_show_if'   => 'off',
            'css' => [
                'main' => [
                    'border_radii'  => "%%order_class%% .dipi-tilt-overlay-image-icon-wrap img",
                    'border_styles' => "%%order_class%% .dipi-tilt-overlay-image-icon-wrap img",
                ],
            ],
            'tab_slug' => 'advanced',
            'toggle_slug' => 'tilt_icon_image'
        ];

        $advanced_fields['box_shadow']['image'] = [
            'label' => esc_html__( 'Image Box Shadow', 'dipi-divi-pixel' ),
            'css' => [
                'main' => '%%order_class%% .dipi-tilt-overlay-image-icon-wrap img',
                'overlay' => 'inset',
            ],
            'show_if' => ['tilt_overlay_icon' => 'off'],
            'tab_slug'  => 'advanced',
            'toggle_slug'   => 'tilt_icon_image'
        ];

        $advanced_fields["box_shadow"]["default"] = [
            'css' => [
              'main' => "%%order_class%% .dipi-tilt-image",
            ],
            'tab_slug'  => 'advanced',
        ];

        $advanced_fields["borders"]["default"] = [
            'css' => [
                'main' => [
                    'border_radii' => "%%order_class%% .dipi-tilt-image",
                    'border_styles' => "%%order_class%% .dipi-tilt-image",
                ],
            ],
            'tab_slug'  => 'advanced',
        ];

        $advanced_fields["fonts"]["title"] = [
            'label'    => esc_html__('Title', 'dipi-divi-pixel'),
            'css'      => [
                'main' => "%%order_class%% h3, %%order_class%% h3 span",
            ],
            'font_size' => [
                'default' => '18px',
            ],
            'line_height' => [
                'range_settings' => [
                    'min'  => '0',
                    'max'  => '10',
                    'step' => '0.1'
                ],
            ],
            'important' => 'all',
            'hide_text_align' => true,
            'toggle_slug' => 'tilt_text',
            'sub_toggle'  => 'title'
        ];

        $advanced_fields["fonts"]["desc"] = [
            'label'    => esc_html__('Description', 'dipi-divi-pixel'),
            'css'      => [
                'main' => "%%order_class%% .dipi-tilt-overlay-desc",
            ],
            'font_size' => [
                'default' => '15px',
            ],
            'line_height' => [
                'range_settings' => [
                    'min'  => '0',
                    'max'  => '10',
                    'step' => '0.1'
                ],
            ],
            'important' => 'all',
            'hide_text_align' => true,
            'toggle_slug' => 'tilt_text',
            'sub_toggle'  => 'description'
        ];

        $advanced_fields['button']["tilt_button"] = [
            'label' => esc_html__('Button', 'dipi-divi-pixel'),
            'css' => [
                'main' => "%%order_class%% .dipi-overlay-button",
                'alignment' => "%%order_class%% .dipi-tilt-image-wrap",
            ],
            'use_alignment' => false,
            'box_shadow'  => [
                'css' => [
                    'main' => "%%order_class%% .dipi-overlay-button",
                    'important' => true,
                ],
            ],
            'margin_padding' => [
                'css' => [
                    'margin' => "%%order_class%% .dipi-tilt-overlay-btn",
                    'padding' => "%%order_class%% .dipi-overlay-button",
                    'important' => 'all',
                ],
            ],
        ];

        return $advanced_fields;
    }

    public function render($attrs, $content = null, $render_slug)
    {
        $tilt_max = $this->props['tilt_max'];
        $tilt_speed = $this->props['tilt_speed'];
        $tilt_perspective = $this->props['tilt_perspective'];
        $tilt_scale = $this->props['tilt_scale'];

        $use_tilt_glare = $this->props['use_tilt_glare'];
        $tilt_glare_value = $this->props['tilt_glare'];
        $tilt_parallax = $this->props['tilt_parallax'];
        $tilt_parallax_value = $this->props['tilt_parallax_value'];

        $tilt_overlay_icon = $this->props['tilt_overlay_icon'];
        $tilt_overlay_font_icon = $this->props['tilt_overlay_font_icon'];
        $tilt_overlay_icon_color = $this->props['tilt_overlay_icon_color'];
        $tilt_overlay_circle_icon = $this->props['tilt_overlay_circle_icon'];
        $tilt_overlay_circle_color = $this->props['tilt_overlay_circle_color'];
        $tilt_overlay_circle_border = $this->props['tilt_overlay_circle_border'];
        $tilt_overlay_circle_border_color = $this->props['tilt_overlay_circle_border_color'];
        $tilt_overlay_color = $this->props['tilt_overlay_color'];
        $tilt_overlay_icon_size = $this->props['tilt_overlay_icon_size'];
        $tilt_overlay_title = $this->props['tilt_overlay_title'];
        $tilt_overlay_title_text = $this->props['tilt_overlay_title_text'];
        $tilt_overlay_desc = $this->props['tilt_overlay_desc'];
        $tilt_overlay_desc_text = $this->sanitize_content($this->props['tilt_overlay_desc_text']);
       
        $tilt_center_mobile = $this->props['tilt_center_mobile'];
        $tilt_overlay_align_vertical = $this->props['tilt_overlay_align_vertical'];
        $tilt_overlay_align_horizontal = $this->props['tilt_overlay_align_horizontal'];
        $tilt_overlay_image_width = $this->props['tilt_overlay_image_width'];
        
        $titl_image_box_height = $this->props['titl_image_box_height'];
        $titl_image_box_height_tablet = $this->props['titl_image_box_height_tablet'] ? $this->props['titl_image_box_height_tablet'] : $titl_image_box_height;
        $titl_image_box_height_phone = $this->props['titl_image_box_height_phone'] ? $this->props['titl_image_box_height_phone'] : $titl_image_box_height_tablet;
        $titl_image_box_height_last_edited = $this->props['titl_image_box_height_last_edited'];
        $titl_image_box_height_responsive_status = et_pb_get_responsive_status($titl_image_box_height_last_edited);

        if('' !== $titl_image_box_height) {
            \ET_Builder_Element::set_style($render_slug, [
                'selector' => '%%order_class%% .dipi-tilt-image-wrap, %%order_class%% .dipi-tilt-image-overlay',
                'declaration' => "height: {$titl_image_box_height}!important;"
            ]);
        }

        if('' !== $titl_image_box_height_tablet && $titl_image_box_height_responsive_status) {
            \ET_Builder_Element::set_style($render_slug, [
                'selector' => '%%order_class%% .dipi-tilt-image-wrap, %%order_class%% .dipi-tilt-image-overlay',
                'declaration' => "height: {$titl_image_box_height_tablet} !important;",
                'media_query' => ET_Builder_Element::get_media_query('max_width_980')
            ]);
        }

        if('' !== $titl_image_box_height_phone && $titl_image_box_height_responsive_status) {
            \ET_Builder_Element::set_style($render_slug, [
                'selector' => '%%order_class%% .dipi-tilt-image-wrap, %%order_class%% .dipi-tilt-image-overlay',
                'declaration' => "height: {$titl_image_box_height_tablet} !important;",
                'media_query' => ET_Builder_Element::get_media_query('max_width_767')
            ]);
        }

        /**
         * Vertical Align
         */
        if ('top' == $tilt_overlay_align_vertical) {

            \ET_Builder_Element::set_style($render_slug, [
                'selector' => '%%order_class%% .dipi-tilt-overlay',
                'declaration' => "align-items: flex-start;"
            ]);

        } elseif ('middle' == $tilt_overlay_align_vertical) {

            \ET_Builder_Element::set_style($render_slug, [
                'selector' => '%%order_class%% .dipi-tilt-overlay',
                'declaration' => "align-items: center;"
            ]);

        } elseif ('bottom' == $tilt_overlay_align_vertical) {

            \ET_Builder_Element::set_style($render_slug, [
                'selector' => '%%order_class%% .dipi-tilt-overlay',
                'declaration' => "align-items: flex-end;"
            ]);

        }

        /**
         * Horizontal Align
         */
        if ('left' == $tilt_overlay_align_horizontal) {
            
            \ET_Builder_Element::set_style($render_slug, [
                'selector' => '%%order_class%% .dipi-tilt-overlay',
                'declaration' => "text-align: left;"
            ]);

            \ET_Builder_Element::set_style($render_slug, [
                'selector' => '%%order_class%% .dipi-tilt-overlay-image-icon-wrap',
                'declaration' => "margin-left: 0 !important; margin-right: auto !important;"
            ]);

        } elseif ('center' == $tilt_overlay_align_horizontal) {

            \ET_Builder_Element::set_style($render_slug, [
                'selector' => '%%order_class%% .dipi-tilt-overlay',
                'declaration' => "text-align: center;"
            ]);

        } elseif ('right' == $tilt_overlay_align_horizontal) {

            \ET_Builder_Element::set_style($render_slug, [
                'selector' => '%%order_class%% .dipi-tilt-overlay',
                'declaration' => "text-align: right;"
            ]);

            \ET_Builder_Element::set_style($render_slug, [
            'selector' => '%%order_class%% .dipi-tilt-overlay-image-icon-wrap',
            'declaration' => "margin-right: 0 !important; margin-left: auto !important;"
            ]);
        
        }

        /**
         * Prallax
         */
        if ('on' == $tilt_parallax) {
            \ET_Builder_Element::set_style($render_slug, [
                'selector' => '%%order_class%% .dipi-tilt-image',
                'declaration' => "transform-style: preserve-3d !important;"
            ]);

            \ET_Builder_Element::set_style($render_slug, [
                'selector' => '%%order_class%% .dipi-tilt-overlay',
                'declaration' => "transform: translateZ({$tilt_parallax_value});"
            ]);
        }

        /**
         * Mobile Always Align Center
         */
        if ('on' == $tilt_center_mobile) {
            \ET_Builder_Element::set_style($render_slug, [
                'selector' => '%%order_class%% .dipi-tilt-overlay',
                'declaration' => "text-align: center !important; align-items: center  !important;",
                'media_query' => \ET_Builder_Element::get_media_query('max_width_767')
            ]);
        }

        /**
         * Mix Styles
         */
        \ET_Builder_Element::set_style($render_slug, [
            'selector' => '%%order_class%% .dipi-tilt-image-overlay',
            'declaration' => "background-color: {$tilt_overlay_color};"
        ]);

        \ET_Builder_Element::set_style($render_slug, [
            'selector' => '%%order_class%% .dipi-tilt-overlay-icon',
            'declaration' => "color: {$tilt_overlay_icon_color};"
        ]);

        \ET_Builder_Element::set_style($render_slug, [
            'selector' => '%%order_class%% .dipi-tilt-overlay-icon',
            'declaration' => "font-size: {$tilt_overlay_icon_size};"
        ]);

        if('on' == $tilt_overlay_circle_icon) {
            \ET_Builder_Element::set_style($render_slug, [
            'selector' => '%%order_class%% .dipi-tilt-overlay-icon-circle',
            'declaration' => "background-color: {$tilt_overlay_circle_color};"
            ]);
        }

        if('on' == $tilt_overlay_circle_border) {
            \ET_Builder_Element::set_style($render_slug, [
            'selector' => '%%order_class%% .dipi-tilt-overlay-icon-border',
            'declaration' => "border-color: {$tilt_overlay_circle_border_color};"
            ]);
        }

        \ET_Builder_Element::set_style($render_slug, [
          'selector' => '%%order_class%% .dipi-tilt-overlay-image-icon-wrap',
          'declaration' => "max-width: {$tilt_overlay_image_width}!important;"
        ]);

        $tilt_reverse = 'off' !== $this->props['tilt_reverse'] ? 'data-tilt-reverse=true' : 'data-tilt-reverse=false';
        $tilt_glare = 'off' !== $use_tilt_glare ? esc_attr("data-tilt-glare=true data-tilt-max-glare=$tilt_glare_value") : '';

        /**
         * Data options
         */
        $data_tilt_options = sprintf(
          '
          data-tilt-max="%1$s"
          data-tilt-speed="%2$s"
          data-tilt-perspective="%3$s"
          data-tilt-scale="%4$s"
          %5$s
          %6$s
          ',
            esc_attr( $tilt_max ),
            esc_attr( $tilt_speed ),
            esc_attr( $tilt_perspective ),
            esc_attr( $tilt_scale ),
            esc_attr( $tilt_glare ),
            esc_attr( $tilt_reverse )
          );

        /**
         * Overlay Icon
         */
        $tilt_overlay_icon_render = '';
        if ('on' === $tilt_overlay_icon) {

            $circle_icon_class      = ('on' === $tilt_overlay_circle_icon) ? 'dipi-tilt-overlay-icon-circle' : '';
            $border_icon_class      = ('on' === $tilt_overlay_circle_border) ? 'dipi-tilt-overlay-icon-border' : '';
            $tilt_overlay_font_icon = et_pb_process_font_icon( $tilt_overlay_font_icon );

            if('' !== $tilt_overlay_icon) { 
                $tilt_overlay_icon_render = sprintf(
                    '<span class="et-pb-icon dipi-tilt-overlay-icon dipi-tilt-overlay-image-icon-wrap %2$s %3$s">
                        %1$s
                    </span>',
                    esc_attr( $tilt_overlay_font_icon ),
                    esc_attr( $circle_icon_class ),
                    esc_attr( $border_icon_class )
                );
            }

        } else {

            if('' !== $this->props['tilt_overlay_image']) {
                $tilt_overlay_icon_render = sprintf(
                    '<div class="dipi-tilt-overlay-image-icon-wrap"><img src="%1$s" alt=""></div>',
                    esc_attr($this->props['tilt_overlay_image'])
                );
            }

        }

        /**
         * Overlay Title
         */
        if ('on' === $tilt_overlay_title) {
            $tilt_overlay_title_render = ('' !== $tilt_overlay_title_text) ? sprintf(
                '<h3 class="dipi-tilt-overlay-title"><span>%1$s</span></h3>',
                esc_attr($tilt_overlay_title_text)
            ) : '';
        } else {
            $tilt_overlay_title_render = '';
        }

        /**
         * Overlay Hover Description
         */        
        $tilt_overlay_desc_render = '';
        if ( 'on' === $tilt_overlay_desc && '' !== $tilt_overlay_desc_text ) {
            $tilt_overlay_desc_render = sprintf(
              '<div class="dipi-tilt-overlay-desc">%1$s</div>',
                $tilt_overlay_desc_text
            );
        }

        /**
         * Overlay Button
         */ 
        $tilt_overlay_btn_render = '';
        if ('on' === $this->props['tilt_overlay_btn'] ) {

            $tilt_button_rel       = $this->props['tilt_button_rel'];
            $tilt_overlay_btn_text = $this->props['tilt_overlay_btn_text'];
            $tilt_overlay_btn_link = $this->props['tilt_overlay_btn_link'];
            $tilt_overlay_btn_icon = $this->props['tilt_button_icon'];
            $open_new_window       = 'new_window' === $this->props['tilt_overlay_btn_link_target'] ? '_blank' : '';

            $tilt_overlay_btn_render = $this->render_button([
                'button_classname' => ["dipi-overlay-button"],
                'button_rel' => $tilt_button_rel,
                'button_text' => $tilt_overlay_btn_text,
                'button_url' => $tilt_overlay_btn_link,
                'custom_icon' => $tilt_overlay_btn_icon,
                'has_wrapper' => false,
                'url_new_window' => $open_new_window,
            ]);
            
        }

        /**
         * Data Content
         */
        $tilt_overlay_content_render = sprintf(
            '<div class="dipi-tilt-overlay">
              <div class="dipi-tilt-overlay-wrap">
                %1$s
                %2$s
                %3$s
                %4$s
              </div>
            </div>',
            $tilt_overlay_icon_render,
            $tilt_overlay_title_render,
            $tilt_overlay_desc_render,
            $tilt_overlay_btn_render
        );

        if(isset($this->props['image']) && '' !== $this->props['image']){
            $image = sprintf('<img src="%1$s">', esc_attr($this->props['image']));
        } else {
            $image = '';
        }

        return sprintf('<div class="dipi-tilt-image" data-tilt="" %1$s> 
            <div class="dipi-tilt-image-wrap">
                <div class="dipi-tilt-image-overlay"></div>
                %2$s
                %3$s
            </div>
        </div>',
        $data_tilt_options,
        $image,
        $tilt_overlay_content_render
      );
    }
}

new DIPI_TiltImage;

Youez - 2016 - github.com/yon3zu
LinuXploit