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/feedback-two.php
<?php
/**
 * Feedback Slider Widget
 */

namespace Elementor;

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

class eCademy_Feedback_Slider extends Widget_Base {

	public function get_name() {
        return 'Feedback Slider';
    }

	public function get_title() {
        return esc_html__( 'اسلایدر بازخورد', 'ecademy-toolkit' );
    }

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

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

	protected function register_controls() {

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

        $this->add_control(
            'section_style',
            [
                'label' => esc_html__( 'سبک', 'ecademy-toolkit' ),
                'type' => Controls_Manager::SELECT,
                'options' => [
                    '1'         => esc_html__( 'سبک یک', 'ecademy-toolkit' ),
                    '2'         => esc_html__( 'سبک دو', 'ecademy-toolkit' ),
                    '3'         => esc_html__( 'سبک سه', 'ecademy-toolkit' ),
                ],
                'default' => '1',
            ]
        );

		$repeater = new Repeater();

        $repeater->add_control(
            'image', [
                'label' => __( 'تصویر', 'ecademy-toolkit' ),
                'type' => Controls_Manager::MEDIA,
                'label_block' => true,
            ]
        );
        $repeater->add_control(
            'name', [
                'label' => __( 'نام', 'ecademy-toolkit' ),
                'type' => Controls_Manager::TEXT,
                'default' => __( 'لولیز رونی' , 'ecademy-toolkit' ),
                'label_block' => true,
            ]
        );

        $repeater->add_control(
            'designation', [
                'label' => __( 'سمت  ', 'ecademy-toolkit' ),
                'type' => Controls_Manager::TEXT,
                'default' => __( 'طراح' , 'ecademy-toolkit' ),
            ]
        );

        $repeater->add_control(
            'feedback', [
                'label' => __( 'محتوای بازخورد', 'ecademy-toolkit' ),
                'type' => Controls_Manager::TEXTAREA,
                'default' => __( 'لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. ultrices gravida. Risus commodo viverra maecenas accumsan lacus vel facilisis. لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. .' , 'ecademy-toolkit' ),
                'label_block' => true,
            ]
        );

        $this->add_control(
            'ecademy_feedback_items',
            [
                'label' => __( 'اسلایدر آیتم', 'ecademy-toolkit' ),
                'type' => Controls_Manager::REPEATER,
                'fields' => $repeater->get_controls(),
                'default' => [
                    [
                        'name' => __( 'لولیز رونی', 'ecademy-toolkit' ),
                        'designation' => __( 'Designer', 'ecademy-toolkit' ),
                    ],
                ],
                'title_field' => '{{{ name }}}',
            ]
        );

        $this->add_control(
            'shape1',
            [
                'label'		=> esc_html__('شکل تصویر یک', 'ecademy-toolkit'),
                'type'		=> Controls_Manager:: MEDIA,
            ]
        );

        $this->add_control(
            'shape2',
            [
                'label'		=> esc_html__('شکل تصویر دو', 'ecademy-toolkit'),
                'type'		=> Controls_Manager:: MEDIA,
                'condition' => [
                    'content_section' => '1',
                ]
            ]
        );

        $this->add_control(
            'shape3',
            [
                'label'		=> esc_html__('شکل تصویر سه ', 'ecademy-toolkit'),
                'type'		=> Controls_Manager:: MEDIA,
                'condition' => [
                    'content_section' => '1',
                ]
            ]
        );
        $this->add_control(
            'shape4',
            [
                'label'		=> esc_html__('شکل تصویر چهار', 'ecademy-toolkit'),
                'type'		=> Controls_Manager:: MEDIA,
                'condition' => [
                    'content_section' => '1',
                ]
            ]
        );

    $this->end_controls_section();

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

        $this->add_control(
            'bd_color',
            [
                'label' => esc_html__( 'رنگ پس زمینه بخش ', 'ecademy-toolkit' ),
                'type' => Controls_Manager::COLOR,
                'selectors' => [
                    '{{WRAPPER}} .divider2, .divider3' => 'background: {{VALUE}}',
                    '{{WRAPPER}} .feedback-area.bg-fffaf3, .feedback-area.bg-6ba292' => 'background-color: {{VALUE}}',
                ],
            ]
        );

        $this->add_control(
            'feedback_color',
            [
                'label' => esc_html__( 'رنگ بازخورد', 'ecademy-toolkit' ),
                'type' => Controls_Manager::COLOR,
                'selectors' => [
                    '{{WRAPPER}} .single-feedback-box p, .gym-feedback-box p' => 'color: {{VALUE}}',
                ],
            ]
        );

        $this->add_responsive_control(
            'feedback_size',
            [
                'label' => esc_html__( 'بازخورد اندازه قلم', 'ecademy-toolkit' ),
                'type' => Controls_Manager::SLIDER,
                'size_units' => [ 'px' ],
                'range' => [
                    'px' => [
                        'min' => 1,
                        'max' => 100,
                        'step' => 1,
                    ],
                ],
                'devices' => [ 'desktop', 'tablet', 'mobile' ],
                'selectors' => [
                    '{{WRAPPER}} .single-feedback-box p, .gym-feedback-box p' => 'font-size: {{SIZE}}px;',
                ],
            ]
        );

        $this->add_control(
            'name_color',
            [
                'label' => esc_html__( 'نام رنگ', 'ecademy-toolkit' ),
                'type' => Controls_Manager::COLOR,
                'selectors' => [
                    '{{WRAPPER}} .single-feedback-box .client-info .title h3, .gym-feedback-box .title h3' => 'color: {{VALUE}}',
                ],
            ]
        );

        $this->add_responsive_control(
            'name_size',
            [
                'label' => esc_html__( 'اندازه قلم نام', 'ecademy-toolkit' ),
                'type' => Controls_Manager::SLIDER,
                'size_units' => [ 'px' ],
                'range' => [
                    'px' => [
                        'min' => 1,
                        'max' => 100,
                        'step' => 1,
                    ],
                ],
                'devices' => [ 'desktop', 'tablet', 'mobile' ],
                'selectors' => [
                    '{{WRAPPER}} .single-feedback-box .client-info .title h3' => 'font-size: {{SIZE}}px;',
                ],
            ]
        );

        $this->add_control(
            'designation_color',
            [
                'label' => esc_html__( 'رنگ سمت ', 'ecademy-toolkit' ),
                'type' => Controls_Manager::COLOR,
                'selectors' => [
                    '{{WRAPPER}} .single-feedback-box .client-info .title span, .gym-feedback-box .title span' => 'color: {{VALUE}}',
                ],
            ]
        );

        $this->add_responsive_control(
            'designation_size',
            [
                'label' => esc_html__( 'سمت اندازه قلم', 'ecademy-toolkit' ),
                'type' => Controls_Manager::SLIDER,
                'size_units' => [ 'px' ],
                'range' => [
                    'px' => [
                        'min' => 1,
                        'max' => 100,
                        'step' => 1,
                    ],
                ],
                'devices' => [ 'desktop', 'tablet', 'mobile' ],
                'selectors' => [
                    '{{WRAPPER}} .single-feedback-box .client-info .title span, .gym-feedback-box .title span' => 'font-size: {{SIZE}}px;',
                ],
            ]
        );


    $this->end_controls_section();

    }

	protected function render() {

        $settings = $this->get_settings_for_display();

        global $ecademy_opt;
		if( isset( $ecademy_opt['enable_lazyloader'] ) ):
			$is_lazyloader = $ecademy_opt['enable_lazyloader'];
		else:
			$is_lazyloader = true;
		endif;
        $slider = $settings['ecademy_feedback_items'];

        // Inline Editing
        $this-> add_inline_editing_attributes('title','none');

        if( $settings['section_style'] == '1' ):
            $section_class = 'feedback-area bg-fffaf3 ptb-100';
        elseif(  $settings['section_style'] == '2'):
            $section_class = 'feedback-area bg-6ba292 ptb-100';
        endif;

        $count = 0;
        foreach ($slider as $items => $counts):
            $count++;
        endforeach;
        ?>

        <?php if($settings['section_style'] != '3'): ?>
            <div class="<?php echo esc_attr( $section_class ); ?>">
                <div class="container">
                    <?php if( $count == 1 ): ?>
                        <div class="col-lg-12">
                    <?php else: ?>
                        <div class="feedback-slides-two owl-carousel owl-theme">
                    <?php endif; ?>
                        <?php foreach ($slider as $key => $value): ?>
                            <div class="single-feedback-box">
                                <p><?php echo esc_html( $value['feedback'] ); ?></p>
                                <div class="client-info d-flex align-items-center">
                                    <?php if( $value['image']['url'] != '' ): ?>
                                        <img class="rounded-circle" src="<?php echo esc_url( $value['image']['url'] ); ?>" alt="<?php echo esc_attr( $value['name'] ); ?>">
                                    <?php endif; ?>

                                    <div class="title">
                                        <h3><?php echo esc_html( $value['name'] ); ?></h3>
                                        <span><?php echo esc_html( $value['designation'] ); ?></span>
                                    </div>
                                </div>
                            </div>
                        <?php endforeach; ?>
                    </div>
                </div>

                <div class="divider2"></div>
                <div class="divider3"></div>

                <?php if( $settings['shape1']['url'] != '' ): ?>
                    <div class="tree-shape">
                        <?php if( $is_lazyloader == true ): ?>
                            <img sm-src="<?php echo esc_url( $settings['shape1']['url'] ); ?>" alt="<?php echo esc_attr__( 'شکل تصویر', 'ecademy-toolkit' ); ?>">
                        <?php else: ?>
                            <img src="<?php echo esc_url( $settings['shape1']['url'] ); ?>" alt="<?php echo esc_attr__( 'شکل تصویر', 'ecademy-toolkit' ); ?>">
                        <?php endif; ?>
                    </div>
                <?php endif; ?>
            </div>
        <?php else: ?>
            <div class="gym-feedback-area ptb-100" style="background-image:url(<?php echo esc_url($settings['shape1']['url']); ?>);">
                <div class="container-fluid">
                    <div class="gym-feedback-slides owl-carousel owl-theme">
                        <?php foreach ($slider as $key => $value): ?>
                            <div class="gym-feedback-box">
                                <p><?php echo esc_html( $value['feedback'] ); ?></p>
                                <div class="title">
                                    <h3><?php echo esc_html( $value['name'] ); ?></h3>
                                    <span><?php echo esc_html( $value['designation'] ); ?></span>
                                </div>
                            </div>
                        <?php endforeach; ?>
                    </div>
                </div>
            </div>
        <?php endif; ?>

        <?php
	}


}

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