HEX
Server: Apache/2
System: Linux vpslll9m.sdns.vn 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
User: thuexe247c (1044)
PHP: 7.4.33
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/thuexe247c/public_html/wp-content/plugins/sliderkits/includes/widgets/team-slider.php
<?php
use Elementor\Widget_Base;
use Elementor\Controls_Manager;
use Elementor\utils;
use Elementor\Scheme_Color;
use Elementor\Group_Control_Typography;
use Elementor\Core\Schemes\Typography;
use Elementor\Group_Control_Border;
use Elementor\Group_Control_Box_Shadow;

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

class SK_Team_Slider_Widget extends Widget_Base {

    public function get_name() {
        return 'team-slider';
    }

    public function get_title() {
        return  esc_html__( 'Team Slider', 'sliderkits' );
    }

    public function get_icon() {
        return 'eicon-user-circle-o';
    }

    public function get_categories() {
        return array( 'sliderkits' );
    }

    /**
     * Enqueue when widget is on page.
     */
    public function get_style_depends() {
        return array( 'slick', 'slick-theme', 'sliderkits', 'team-slider' );
    }

    protected function register_controls() {

      $this->start_controls_section(
          'section_sk_carousel_slider_slides',
          [
              'label' => esc_html__( 'Add Slides', 'sliderkits' ),
              'tab'   => Controls_Manager::TAB_CONTENT,
          ]
      );

      $repeater = new \Elementor\Repeater();

      $repeater->add_control(
        'title', [
          'label' => esc_html__( 'Name', 'sliderkits' ),
          'type' => \Elementor\Controls_Manager::TEXT,
          'default' => esc_html__( 'John Doe' , 'sliderkits' ),
          'label_block' => true,
        ]
      );

      $repeater->add_control(
        'subtitle', [
          'label' => esc_html__( 'Job Position', 'sliderkits' ),
          'type' => \Elementor\Controls_Manager::TEXT,
          'default' => esc_html__( 'Designer' , 'sliderkits' ),
          'label_block' => true,
        ]
      );

      $repeater->add_control(
        'paragraph', [
          'label' => esc_html__( 'Introduction', 'sliderkits' ),
          'type' => \Elementor\Controls_Manager::TEXTAREA,
          'label_block' => true,
          'default' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.'
        ]
      );

      $repeater->add_control(
        'picture', [
          'label' => esc_html__( 'Picture', 'sliderkits' ),
          'type' => Controls_Manager::MEDIA,
          'show_label' => false,
          'default' => [
            'url' => \Elementor\Utils::get_placeholder_image_src(),
          ]
        ]
      );

      $this->add_control(
        'slides',
        [
          'label' => esc_html__( 'Add Slides', 'sliderkits' ),
          'type' => \Elementor\Controls_Manager::REPEATER,
          'fields' => $repeater->get_controls(),
          'default' => [
            [
               'title' => 'John Doe',
               'subtitle' => 'CEO',
               'paragraph' => 'Nulla gravida euismod lorem, tempus hendrerit est porta eu. Aenean tortor enim, cursus eget euismod vel, euismod in eros. Aliquam laoreet rutrum venenatis. Praesent feugiat eleifend nisi quis scelerisque. Aliquam sit amet viverra ligula. Ut sed commodo velit. Vivamus venenatis bibendum ante at luctus.',
               'picture' => \Elementor\Utils::get_placeholder_image_src()
            ],
            [
               'title' => 'Lindsay',
               'subtitle' => 'Marketing Manager',
               'paragraph' => 'Nulla gravida euismod lorem, tempus hendrerit est porta eu. Aenean tortor enim, cursus eget euismod vel, euismod in eros. Aliquam laoreet rutrum venenatis. Praesent feugiat eleifend nisi quis scelerisque. Aliquam sit amet viverra ligula. Ut sed commodo velit. Vivamus venenatis bibendum ante at luctus.',
               'picture' => \Elementor\Utils::get_placeholder_image_src()
            ],
            [
               'title' => 'Micheal',
               'subtitle' => 'Front-end Developer',
               'paragraph' => 'Nulla gravida euismod lorem, tempus hendrerit est porta eu. Aenean tortor enim, cursus eget euismod vel, euismod in eros. Aliquam laoreet rutrum venenatis. Praesent feugiat eleifend nisi quis scelerisque. Aliquam sit amet viverra ligula. Ut sed commodo velit. Vivamus venenatis bibendum ante at luctus.',
               'picture' => \Elementor\Utils::get_placeholder_image_src()
            ],
            [
               'title' => 'Jonathan',
               'subtitle' => 'Co-Founder',
               'paragraph' => 'Nulla gravida euismod lorem, tempus hendrerit est porta eu. Aenean tortor enim, cursus eget euismod vel, euismod in eros. Aliquam laoreet rutrum venenatis. Praesent feugiat eleifend nisi quis scelerisque. Aliquam sit amet viverra ligula. Ut sed commodo velit. Vivamus venenatis bibendum ante at luctus.',
               'picture' => \Elementor\Utils::get_placeholder_image_src()
            ],
            [
               'title' => 'Nicholas',
               'subtitle' => 'Co-Founder',
               'paragraph' => 'Nulla gravida euismod lorem, tempus hendrerit est porta eu. Aenean tortor enim, cursus eget euismod vel, euismod in eros. Aliquam laoreet rutrum venenatis. Praesent feugiat eleifend nisi quis scelerisque. Aliquam sit amet viverra ligula. Ut sed commodo velit. Vivamus venenatis bibendum ante at luctus.',
               'picture' => \Elementor\Utils::get_placeholder_image_src()
            ],
            [
               'title' => 'Brody Woo',
               'subtitle' => 'Co-Founder',
               'paragraph' => 'Nulla gravida euismod lorem, tempus hendrerit est porta eu. Aenean tortor enim, cursus eget euismod vel, euismod in eros. Aliquam laoreet rutrum venenatis. Praesent feugiat eleifend nisi quis scelerisque. Aliquam sit amet viverra ligula. Ut sed commodo velit. Vivamus venenatis bibendum ante at luctus.',
               'picture' => \Elementor\Utils::get_placeholder_image_src()
            ]
          ],
          'title_field' => '{{{ title }}}',
        ]
      );

      $this->end_controls_section();


      $this->start_controls_section(
          'section_sk_carousel_slider_settings',
          [
              'label' => esc_html__( 'Slider Setting', 'sliderkits' ),
              'tab'   => Controls_Manager::TAB_CONTENT,
          ]
      );

      $this->add_control(
          'autoplay',
          [
              'label' => esc_html__( 'Autoplay', 'sliderkits' ),
              'type' => Controls_Manager::SWITCHER,
              'default' => 'false',
              'label_on' => esc_html__( 'Yes', 'sliderkits' ),
              'label_off' => esc_html__( 'No', 'sliderkits' ),
              'return_value' => 'true',
          ]
      );

      $this->add_control(
          'autoplaySpeed',
          [
              'label' => esc_html__( 'Autoplay Speed', 'sliderkits' ),
              'type' => Controls_Manager::NUMBER,
              'default' => '3000',
              'condition' => [
                  'autoplay' => 'true',
              ]
          ]
      );

      $this->add_control(
          'pauseOnHover',
          [
              'label' => esc_html__( 'Pause On Hover', 'sliderkits' ),
              'type' => Controls_Manager::SWITCHER,
              'default' => 'true',
              'label_on' => esc_html__( 'Yes', 'sliderkits' ),
              'label_off' => esc_html__( 'No', 'sliderkits' ),
              'return_value' => 'true',
              'condition' => [
                  'autoplay' => 'true',
              ]
          ]
      );

      $this->add_control(
          'infinite',
          [
              'label' => esc_html__( 'Infinite Loop', 'sliderkits' ),
              'type' => Controls_Manager::SWITCHER,
              'default' => 'false',
              'label_on' => esc_html__( 'Yes', 'sliderkits' ),
              'label_off' => esc_html__( 'No', 'sliderkits' ),
              'return_value' => 'true'
          ]
      );

      $this->add_control(
          'swipe',
          [
              'label' => esc_html__( 'Touch Swipe', 'sliderkits' ),
              'type' => Controls_Manager::SWITCHER,
              'default' => 'true',
              'label_on' => esc_html__( 'Yes', 'sliderkits' ),
              'label_off' => esc_html__( 'No', 'sliderkits' ),
              'return_value' => 'true'
          ]
      );

      $this->add_control(
          'touchMove',
          [
              'label' => esc_html__( 'Slide moving with touch', 'sliderkits' ),
              'type' => Controls_Manager::SWITCHER,
              'default' => 'true',
              'label_on' => esc_html__( 'Yes', 'sliderkits' ),
              'label_off' => esc_html__( 'No', 'sliderkits' ),
              'return_value' => 'true'
          ]
      );

      $this->add_control(
          'speed',
          [
              'label' => esc_html__( 'Transition Speed', 'sliderkits' ),
              'type' => Controls_Manager::NUMBER,
              'default' => '300'
          ]
      );

      $this->end_controls_section();

      $this->start_controls_section(
          'section_sk_carousel_slider_content_style',
          [
              'label' => esc_html__( 'Content', 'sliderkits' ),
              'tab'   => Controls_Manager::TAB_STYLE,
          ]
      );

      $this->add_control(
          'title_color',
          [
              'type' => Controls_Manager::COLOR,
              'label' => esc_html__( 'Name Text Color', 'sliderkits' ),
              'default' => '',
              'selectors' => [
                  '{{WRAPPER}} .sk-slick-item .sk-heading' => 'color: {{VALUE}}',
              ],
          ]
      );

      $this->add_group_control(
          Group_Control_Typography::get_type(),
          [
              'name' => 'title_typography',
              'label' => esc_html__( 'Name Typography', 'sliderkits' ),
              'scheme' => Typography::TYPOGRAPHY_2,
              'selector' => '{{WRAPPER}} .sk-slick-item .sk-heading',
          ]
      );

      $this->add_control(
          'subtitle_color',
          [
              'type' => Controls_Manager::COLOR,
              'label' => esc_html__( 'Job Text Color', 'sliderkits' ),
              'selectors' => [
                  '{{WRAPPER}} .sk-slick-item .sk-job' => 'color: {{VALUE}}',
              ],
          ]
      );

      $this->add_group_control(
          Group_Control_Typography::get_type(),
          [
              'name' => 'subtitle_typography',
              'label' => esc_html__( 'Job Typography', 'sliderkits' ),
              'scheme' => Typography::TYPOGRAPHY_2,
              'selector' => '{{WRAPPER}} .sk-slick-item .sk-job',
          ]
      );

      $this->add_control(
          'paragraph_color',
          [
              'type' => Controls_Manager::COLOR,
              'label' => esc_html__( 'Introducation Text Color', 'sliderkits' ),
              'selectors' => [
                  '{{WRAPPER}} .sk-slick-item .sk-content, {{WRAPPER}} .sk-slick-item .sk-content p' => 'color: {{VALUE}}',
              ],
          ]
      );

      $this->add_group_control(
          Group_Control_Typography::get_type(),
          [
              'name' => 'paragraph_typography',
              'label' => esc_html__( 'Introducation Typography', 'sliderkits' ),
              'scheme' => Typography::TYPOGRAPHY_2,
              'selector' => '{{WRAPPER}} .sk-slick-item .sk-content, {{WRAPPER}} .sk-slick-item .sk-content p',
          ]
      );

      $this->end_controls_section();

    }

    protected function render() {
       SK_Elementor_Widgets::widget_template( self::get_name(),$this->get_settings() );
       if ( \Elementor\Plugin::$instance->editor->is_edit_mode() ) {
           echo '<script>window.SliderKits.init();</script>';
       }
    }

}