HEX
Server: LiteSpeed
System: Linux dune179.sitesanctuary.org 5.14.0-427.40.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 16 07:08:17 EDT 2024 x86_64
User: h278792 (1076)
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/h278792/public_html/wp-content/plugins/ecademy-toolkit/widgets/banner-slider.php
<?php
/**
 * Banner Slider Widget
 */

namespace Elementor;

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

class eCademy_Banner_Slider extends Widget_Base {

	public function get_name() {
        return 'BannerSlider';
    }

	public function get_title() {
        return __( 'اسلایدر بنر', 'ecademy-toolkit' );
    }

	public function get_icon() {
        return 'eicon-slides';
    }

	public function get_categories() {
        return [ 'ecademy-elements' ];
    }

	protected function register_controls() {

        $this->start_controls_section(
			'content_section',
			[
				'label' => __( 'محتوا', 'ecademy-toolkit' ),
				'tab' => Controls_Manager::TAB_CONTENT,
			]
        );

        $this->add_control(
            'title_tag',
            [
                'label' => __( 'برچسب عنوان بنر', 'ecademy-toolkit' ),
                'type' => Controls_Manager::SELECT,
                'options' => [
                    'h1'         => __( 'h1', 'ecademy-toolkit' ),
                    'h2'         => __( 'h2', 'ecademy-toolkit' ),
                    'h3'         => __( 'h3', 'ecademy-toolkit' ),
                    'h4'         => __( 'h4', 'ecademy-toolkit' ),
                    'h5'         => __( 'h5', 'ecademy-toolkit' ),
                    'h6'         => __( 'h6', 'ecademy-toolkit' ),
                ],
                'default' => 'h1',
            ]
        );

        $this->add_control(
            'button_icon',
            [
                'label' => __( 'آیکن دکمه', 'ecademy-toolkit' ),
                'type' => Controls_Manager::ICON,
                'label_block' => true,
                'options' => ecademy_flaticons(),
            ]
        );

        $this->add_control(
            'bg_image',
            [
                'label' => __( 'تصویر پس زمینه', 'ecademy-toolkit' ),
                'type' => Controls_Manager::MEDIA,
            ]
        );

        $this->add_control(
            'count',
            [
                'label' 		=> esc_html__( 'Slider Count', 'ecademy-toolkit' ),
                'type' 			=> Controls_Manager::SELECT,
                'label_block' 	=> true,
                'options' => [
                    '1'  	=> esc_html__( 'بله', 'ecademy-toolkit' ),
                    '2' 	=> esc_html__( 'خیر', 'ecademy-toolkit' ),
                ],
            ]
        );

        $repeater = new Repeater();

		$repeater->add_control(
			'image', [
				'label' => __( 'تصویر', 'ecademy-toolkit' ),
				'type' => Controls_Manager::MEDIA,
				'label_block' => true,
			]
		);
		$repeater->add_control(
			'title', [
				'label' => __( 'عنوان', 'ecademy-toolkit' ),
				'type' => Controls_Manager::TEXT,
				'default' => __( 'سفر تناسب اندام خود را با متخصص شروع کنید' , 'ecademy-toolkit' ),
				'label_block' => true,
			]
		);

		$repeater->add_control(
			'content', [
				'label' => __( 'محتوا', 'ecademy-toolkit' ),
				'type' => Controls_Manager::TEXTAREA,
				'default' => __( 'لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است..' , 'ecademy-toolkit' ),
			]
		);

        $repeater->add_control(
			'button_text', [
				'label' => __( 'متن دکمه', 'ecademy-toolkit' ),
				'type' => Controls_Manager::TEXT,
				'default' => __( 'ورود به صورت رایگان' , 'ecademy-toolkit' ),
				'label_block' => true,
			]
		);
        $repeater->add_control(
			'button_link', [
				'label' => __( 'لینک دکمه', 'ecademy-toolkit' ),
				'type' => Controls_Manager::URL,
				'label_block' => true,
			]
		);

		$this->add_control(
			'ecademy_slider_items',
			[
				'label' => __( 'اسلایدر آیتم', 'ecademy-toolkit' ),
				'type' => Controls_Manager::REPEATER,
				'fields' => $repeater->get_controls(),
				'default' => [
					[
						'title' => __( 'سفر تناسب اندام خود را با متخصص شروع کنید', 'ecademy-toolkit' ),
						'content' => __( 'لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است..', 'ecademy-toolkit' ),
					],
				],
				'title_field' => '{{{ title }}}',
			]
		);
    $this->end_controls_section();

    $this->start_controls_section(
        'style',
        [
            'label' => __( 'سبک', 'ecademy-toolkit' ),
            'tab' => Controls_Manager::TAB_STYLE,
        ]
    );

        $this->add_control(
            'title_color',
            [
                'label' => __( 'عنوان رنگ', 'ecademy-toolkit' ),
                'type' => Controls_Manager::COLOR,
                'selectors' => [
                    '{{WRAPPER}} .gym-banner-content h1, .gym-banner-content h2, .gym-banner-content h3, .gym-banner-content h4, .gym-banner-content h5, .gym-banner-content h6' => 'color: {{VALUE}}',
                ],
            ]
        );

        $this->add_group_control(
            Group_Control_Typography::get_type(),
            [
                'name' => 'title_typography',
                'label' => __( ' عنوان تایپوگرافی', 'ecademy-toolkit' ),
                'scheme' => Core\Schemes\Typography::TYPOGRAPHY_1,
                'selector' => '{{WRAPPER}} .gym-banner-content h1, .gym-banner-content h2, .gym-banner-content h3, .gym-banner-content h4, .gym-banner-content h5, .gym-banner-content h6',
            ]
        );

        $this->add_control(
            'content_color',
            [
                'label' => __( 'رنگ محتوا', 'ecademy-toolkit' ),
                'type' => Controls_Manager::COLOR,
                'selectors' => [
                    '{{WRAPPER}} .gym-banner-content p' => 'color: {{VALUE}}',
                ],
            ]
        );

        $this->add_group_control(
            Group_Control_Typography::get_type(),
            [
                'name' => 'content_typography',
                'label' => __( 'تایپوگرافی محتوا', 'ecademy-toolkit' ),
                'scheme' => Core\Schemes\Typography::TYPOGRAPHY_1,
                'selector' => '{{WRAPPER}} .gym-banner-content p',
            ]
        );

    $this->end_controls_section();

    }

	protected function render() {

        $settings = $this->get_settings_for_display();
        $slider = $settings['ecademy_slider_items'];

        // آیکن دکمه
        if( $settings['button_icon'] != '' ):
            $icon = $settings['button_icon'];
        else:
            $icon = 'flaticon-user';
        endif;

        ?>

        <div class="gym-home-area" style="background-image:url(<?php echo esc_url($settings['bg_image']['url']); ?>);">
            <div class="gym-banner-slides owl-carousel owl-theme">
                <?php foreach ($slider as $key => $value): ?>
                    <div class="gym-banner-item">
                        <div class="container-fluid">
                            <div class="row align-items-center">
                                <div class="col-lg-6 col-md-12">
                                    <div class="gym-banner-content">
                                        <<?php echo esc_attr( $settings['title_tag'] ); ?>><?php echo esc_html( $value['title'] ); ?></<?php echo esc_attr( $settings['title_tag'] ); ?>>
                                        <p><?php echo esc_html( $value['content'] ); ?></p>

                                        <?php if( $value['button_text'] != '' ): ?>
                                            <a href="<?php echo esc_url( $value['button_link']['url'] ); ?>" class="default-btn"><i class="<?php echo esc_attr( $icon ); ?>"></i><?php echo esc_attr($value['button_text']); ?><span></span></a>
                                        <?php endif; ?>
                                    </div>
                                </div>

                                <div class="col-lg-6 col-md-12">
                                    <?php if( $value['image']['url'] != '' ): ?>
                                    <div class="gym-banner-image">
                                        <img src="<?php echo esc_url($value['image']['url']); ?>" alt="<?php echo esc_attr($value['title']); ?>">
                                    </div>
                                <?php endif; ?>
                                </div>
                            </div>
                        </div>
                    </div>
                <?php endforeach; ?>
            </div>

            <?php if($settings['count'] == '1'): ?>
                <div class="sliderCounter"></div>
            <?php endif; ?>
        </div>
        <?php
	}


}

Plugin::instance()->widgets_manager->register( new eCademy_Banner_Slider );