Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /proc/self/cwd/wp-content/plugins/bdthemes-element-pack/modules/tile-scroll/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/cwd/wp-content/plugins/bdthemes-element-pack/modules/tile-scroll/module.php
<?php

namespace ElementPack\Modules\TileScroll;

use Elementor\Controls_Manager;
use Elementor\Repeater;
use Elementor\Group_Control_Border;
use Elementor\Group_Control_Box_Shadow;
use ElementPack\Base\Element_Pack_Module_Base;

if (!defined('ABSPATH')) {
	exit;
} // Exit if accessed directly

class Module extends Element_Pack_Module_Base {

	public function __construct() {
		parent::__construct();
		$this->add_actions();
	}

	public function get_name() {
		return 'bdt-tile-scroll';
	}

	public function register_section($element) {
		$element->start_controls_section(
			'element_pack_tile_scroll_section',
			[
				'tab'   => Controls_Manager::TAB_ADVANCED,
				'label' => BDTEP_CP . esc_html__('Tile Scroll', 'bdthemes-element-pack') . BDTEP_NC,
			]
		);
		$element->end_controls_section();
	}

	public function register_controls($section, $args) {

		$section->add_control(
			'element_pack_tile_scroll_show',
			[
				'label'              => esc_html__('Use Tile Scroll?', 'bdthemes-element-pack'),
				'type'               => Controls_Manager::SWITCHER,
				'default'            => '',
				'return_value'       => 'yes',
				'prefix_class'       => 'bdt-tile-scroll-',
				'frontend_available' => true,
				'render_type'        => 'template',
			]
		);
		$section->start_controls_tabs(
			'tabs_element_pack_tile_scroll'
		);
		$section->start_controls_tab(
			'tabs_element_pack_tile_content',
			[
				'label'     => esc_html__('Content', 'bdthemes-element-pack'),
				'condition' => [
					'element_pack_tile_scroll_show' => 'yes'
				]
			]
		);
		$repeater = new Repeater();
		$repeater->add_control(
			'element_pack_tile_scroll_title',
			[
				'label'       => __('Title', 'bdthemes-element-pack'),
				'type'        => Controls_Manager::TEXT,
				'default'     => __('Item #1', 'bdthemes-element-pack'),
				'label_block' => true,
				'render_type' => 'ui',
			]
		);
		$repeater->add_control(
			'element_pack_tile_scroll_images',
			[
				'label' => esc_html__('Images', 'bdthemes-element-pack'),
				'type'  => Controls_Manager::GALLERY,
			]
		);


		$repeater->add_control(
			'element_pack_tile_scroll_x_start',
			[
				'label'   => esc_html__('Start', 'bdthemes-element-pack'),
				'type'    => Controls_Manager::SLIDER,
				'range'   => [
					'px' => [
						'min'  => -500,
						'max'  => 500,
						'step' => 1,
					],
				],
				'default' => [
					'unit' => 'px',
					'size' => 150,
				],
			]
		);

		$repeater->add_control(
			'element_pack_tile_scroll_x_end',
			[
				'label' => esc_html__('End', 'bdthemes-element-pack'),
				'type'  => Controls_Manager::SLIDER,
				'range' => [
					'px' => [
						'min'  => -500,
						'max'  => 500,
						'step' => 1,
					],
				],
				'default' => [
					'unit' => 'px',
					'size' => -150,
				],
			]
		);

		$section->add_control(
			'element_pack_tile_scroll_elements',
			[
				'label'              => __('Tile Scroll Items', 'bdthemes-element-pack'),
				'type'               => Controls_Manager::REPEATER,
				'fields'             => $repeater->get_controls(),
				'prevent_empty'      => false,
				'title_field'        => '{{{ element_pack_tile_scroll_title }}}',
				'frontend_available' => true,
				'render_type'        => 'none',
				'condition'          => [
					'element_pack_tile_scroll_show' => 'yes'
				],
			]
		);
		$section->end_controls_tab();
		$section->start_controls_tab(
			'tabs_element_pack_tile_style',
			[
				'label'     => esc_html__('Style', 'bdthemes-element-pack'),
				'condition' => [
					'element_pack_tile_scroll_show' => 'yes'
				]
			]
		);
		$section->add_control(
			'element_pack_tile_scroll_display',
			[
				'label'              => esc_html__('Scroll Style', 'bdthemes-element-pack'),
				'type'               => Controls_Manager::SELECT,
				'default'            => 'horizontal',
				'options'            => [
					'horizontal' => esc_html__('Horizontal', 'bdthemes-element-pack'),
					'vertical'   => esc_html__('Vertical', 'bdthemes-element-pack'),
				],
				'frontend_available' => true,
				'render_type'        => 'template',
				'condition'          => [
					'element_pack_tile_scroll_show' => 'yes'
				]
			]
		);
		$section->add_control(
			'element_pack_tile_scroll_rotate',
			[
				'label'     => esc_html__('Rotate', 'bdthemes-element-pack'),
				'type'      => Controls_Manager::SLIDER,
				'range'     => [
					'px' => [
						'min'  => 0,
						'max'  => 360,
						'step' => 1,
					],
				],
				'selectors' => [
					'{{WRAPPER}}' => '--bdt-tile-scroll-rotate: {{SIZE}}deg;',
				],
				'condition' => [
					'element_pack_tile_scroll_show'    => 'yes',
					'element_pack_tile_scroll_display' => 'horizontal'
				]
			]
		);
		$section->add_responsive_control(
			'element_pack_tile_scroll_item_width',
			[
				'label'      => esc_html__('Width Adjustment', 'bdthemes-element-pack'),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => ['px'],
				'range'      => [
					'px' => [
						'min'  => 0,
						'max'  => 100,
						'step' => 0.5,
					]
				],
				'selectors'  => [
					'{{WRAPPER}}' => '--bdt-tile-scroll-item-width: {{SIZE}}%;',
				],
				'condition'  => [
					'element_pack_tile_scroll_show'    => 'yes',
					'element_pack_tile_scroll_display' => 'horizontal'
				]
			]
		);
		$section->add_responsive_control(
			'element_pack_tile_scroll_height',
			[
				'label'      => esc_html__('Height Adjustment', 'bdthemes-element-pack'),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => ['vw'],
				'default'    => [
					'unit' => 'vw',
					'size' => 52,
				],
				'selectors'  => [
					'{{WRAPPER}}' => '--bdt-tile-scroll-height: {{SIZE}}vw;',
				],
				'condition'  => [
					'element_pack_tile_scroll_show' => 'yes',
				]
			]
		);
		$section->add_responsive_control(
			'element_pack_tile_scroll_gap',
			[
				'label'      => esc_html__('Grid Gap', 'bdthemes-element-pack'),
				'type'       => Controls_Manager::SLIDER,
				'size_units' => ['px'],
				'default'    => [
					'unit' => 'px',
					'size' => 10,
				],
				'selectors'  => [
					'{{WRAPPER}}'     => '--bdt-tile-scroll-margin: {{SIZE}}{{UNIT}};',
				],
				'condition'  => [
					'element_pack_tile_scroll_show' => 'yes'
				]
			]
		);
		$section->add_group_control(
			Group_Control_Border::get_type(),
			[
				'name'      => 'element_pack_tile_scroll_gap',
				'label'     => esc_html__('Border', 'bdthemes-element-pack'),
				'selector'  => '{{WRAPPER}} .bdt-tile-scroll__line-img',
				'separator' => 'before'
			]
		);
		$section->add_responsive_control(
			'element_pack_title_radius',
			[
				'label'      => esc_html__('Border Radius', 'bdthemes-element-pack'),
				'type'       => Controls_Manager::DIMENSIONS,
				'size_units' => ['px', '%', 'em'],
				'selectors'  => [
					'{{WRAPPER}} .bdt-tile-scroll__line-img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
				],
			]
		);
		$section->add_group_control(
			Group_Control_Box_Shadow::get_type(),
			[
				'name'     => 'element_pack_tile_scroll_shadow',
				'label'    => esc_html__('Shadow', 'bdthemes-element-pack'),
				'selector' => '{{WRAPPER}} .bdt-tile-scroll__line-img',
			]
		);
		$section->end_controls_tab();
		$section->end_controls_tabs();
		$section->add_control(
			'element_pack_tile_scroll_notice',
			[
				'type'            => Controls_Manager::RAW_HTML,
				'raw'             => sprintf(__('Please use proper size (for example: 640px X 560px) and optimize image for this gallery because tile gallery will show full size image so if you use large image that can slow down your scroll animation and page loading time', 'bdthemes-element-pack')),
				'content_classes' => 'elementor-panel-alert elementor-panel-alert-warning',
				'condition'       => [
					'element_pack_tile_scroll_show' => 'yes',
				],
				'separator'       => 'before'
			]
		);
	}


	public function section_tile_scroll_before_render($section) {
		$settings = $section->get_settings_for_display();
		if ('yes' === $settings['element_pack_tile_scroll_show']) {
			wp_enqueue_style('ep-tile-scroll');
			wp_enqueue_script('ep-tile-scroll');
		}
	}

	protected function add_actions() {
		// Add section for settings
		add_action('elementor/element/section/section_advanced/after_section_end', [$this, 'register_section']);
		add_action('elementor/element/section/element_pack_tile_scroll_section/before_section_end', [$this, 'register_controls'], 10, 2);
		add_action('elementor/frontend/section/before_render', [$this, 'section_tile_scroll_before_render'], 10, 1);

		add_action('elementor/element/container/section_layout/after_section_end', [$this, 'register_section']);
		add_action('elementor/element/container/element_pack_tile_scroll_section/before_section_end', [$this, 'register_controls'], 10, 2);
		add_action('elementor/frontend/container/before_render', [$this, 'section_tile_scroll_before_render'], 10, 1);
	}
}

Spamworldpro Mini