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/language-courses.php
<?php
/**
 * Language Courses Widget
 */

namespace Elementor;

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

class eCademy_Language_Courses extends Widget_Base {

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

	public function get_title() {
        return esc_html__( 'منطقه ویژگی', 'ecademy-toolkit' );
    }

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

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

	protected function register_controls() {

        $this->start_controls_section(
			'eCademy_Language_Courses_controls',
			[
				'label' => esc_html__( 'کنترل دوره های زبان', 'ecademy-toolkit' ),
				'tab' => Controls_Manager::TAB_CONTENT,
			]
        );
            $this->add_control(
                'style',
                [
                    'label' => __( 'سبک', 'ecademy-toolkit' ),
                    'type' => Controls_Manager::SELECT,
                    'options' => [
                        '1'         => __( 'سبک 1', 'ecademy-toolkit' ),
                        '2'         => __( 'سبک', 'ecademy-toolkit' ),
                    ],
                    'default' => '1',
                ]
            );

            $repeater = new Repeater();
            $repeater->add_control(
                'image', [
                    'label'     => esc_html__( 'تصویر', 'ecademy-toolkit' ),
                    'type'      => Controls_Manager::MEDIA,
                ]
            );
            $repeater->add_control(
                'title', [
                    'label'     => esc_html__( 'عنوان', 'ecademy-toolkit' ),
                    'type'      => Controls_Manager::TEXT,
                    'default'   => esc_html__('چینی ها ', 'ecademy-toolkit'),
                ]
            );
            $repeater->add_control(
                'content', [
                    'label'     => __( 'محتوا', 'ecademy-toolkit' ),
                    'type'      => Controls_Manager::TEXTAREA,
                    'default'   => esc_html__('لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. .', 'ecademy-toolkit'),
                ]
            );
            $repeater->add_control(
                'link_text', [
                    'label'     => __( 'متن لینک', 'ecademy-toolkit' ),
                    'type'      => Controls_Manager::TEXTAREA,
                    'default'   => esc_html__('نمایش بیشتر', 'ecademy-toolkit'),
                ]
            );
            $repeater->add_control(
                'default_icon', [
                    'label' => esc_html__( 'انتخاب آیکن', 'ecademy-toolkit' ),
                    'type' => Controls_Manager::ICON,
                    'label_block' => true,
                    'options' => ecademy_flaticons(),
                ]
            );
            $repeater->add_control(
                'link_type', [
                    'label'     => __( 'نوع لینک', 'ecademy-toolkit' ),
                    'type'      => Controls_Manager::SELECT,
                    'label_block' => true,
                    'options' => [
                        '1'     => esc_html__( 'پیوند به صفحه', 'ecademy-toolkit' ),
                        '2'     => esc_html__( 'لینک خارجی', 'ecademy-toolkit' ),
                    ],
                ]
            );
            $repeater->add_control(
                'link_to_page', [
                    'label'     => __( 'صفحه لینک', 'ecademy-toolkit' ),
                    'type'      => Controls_Manager::SELECT,
                    'label_block' => true,
                    'options' => ecademy_toolkit_get_page_as_list(),
                    'condition' => [
                        'link_type' => '1',
                    ]
                ]
            );
            $repeater->add_control(
                'ex_link', [
                    'label'     => __( 'صفحه خارجی ', 'ecademy-toolkit' ),
                    'type'      => Controls_Manager::TEXT,
                    'condition' => [
                        'link_type' => '2',
                    ]
                ]
            );
            $this->add_control(
                'card_item',
                [
                    'label' => esc_html__('کارت آیتم', 'ecademy-toolkit'),
                    'type' => Controls_Manager::REPEATER,
                    'fields' => $repeater->get_controls(),
                    'condition' => [
                        'style' => '1',
                    ]
                ]
            );


            $repeater2 = new Repeater();
            $repeater2->add_control(
                'yoga_image', [
                    'label'     => esc_html__( 'تصویر', 'ecademy-toolkit' ),
                    'type'      => Controls_Manager::MEDIA,
                ]
            );
            $repeater2->add_control(
                'yoga_title', [
                    'label'     => esc_html__( 'عنوان', 'ecademy-toolkit' ),
                    'type'      => Controls_Manager::TEXT,
                    'default'   => esc_html__('چینی ها ', 'ecademy-toolkit'),
                ]
            );
            $repeater2->add_control(
                'yoga_content', [
                    'label'     => __( 'محتوا', 'ecademy-toolkit' ),
                    'type'      => Controls_Manager::TEXTAREA,
                    'default'   => esc_html__('لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. .', 'ecademy-toolkit'),
                ]
            );
            $repeater2->add_control(
                'yoga_link_text', [
                    'label'     => __( 'متن لینک', 'ecademy-toolkit' ),
                    'type'      => Controls_Manager::TEXTAREA,
                    'default'   => esc_html__('نمایش بیشتر', 'ecademy-toolkit'),
                ]
            );
            $repeater2->add_control(
                'yoga_link_type', [
                    'label'     => __( 'نوع لینک', 'ecademy-toolkit' ),
                    'type'      => Controls_Manager::SELECT,
                    'label_block' => true,
                    'options' => [
                        '1'     => esc_html__( 'پیوند به صفحه', 'ecademy-toolkit' ),
                        '2'     => esc_html__( 'لینک خارجی', 'ecademy-toolkit' ),
                    ],
                ]
            );
            $repeater2->add_control(
                'yoga_link_to_page', [
                    'label'     => __( 'صفحه لینک', 'ecademy-toolkit' ),
                    'type'      => Controls_Manager::SELECT,
                    'label_block' => true,
                    'options' => ecademy_toolkit_get_page_as_list(),
                    'condition' => [
                        'yoga_link_type' => '1',
                    ]
                ]
            );
            $repeater2->add_control(
                'yoga_ex_link', [
                    'label'     => __( 'صفحه خارجی ', 'ecademy-toolkit' ),
                    'type'      => Controls_Manager::TEXT,
                    'condition' => [
                        'yoga_link_type' => '2',
                    ]
                ]
            );
            $this->add_control(
                'yoga_card_item',
                [
                    'label' => esc_html__('کارت آیتم', 'ecademy-toolkit'),
                    'type' => Controls_Manager::REPEATER,
                    'fields' => $repeater2->get_controls(),
                    'condition' => [
                        'style' => '2',
                    ]
                ]
            );

        $this->end_controls_section();

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

            $this->add_group_control(
                Group_Control_Typography::get_type(),
                [
                    'name' => 'title_typography',
                    'label' => __( ' عنوان تایپوگرافی', 'ecademy-toolkit' ),
                    'scheme' => Core\Schemes\Typography::TYPOGRAPHY_1,
                    'selector' => '{{WRAPPER}} .single-language-courses-box h3, .single-yoga-courses-box .courses-content h3',
                ]
            );

            $this->add_control(
				'title_color',
				[
					'label' => __( 'عنوان رنگ', 'ecademy-toolkit' ),
					'type' => Controls_Manager::COLOR,
					'selectors' => [
						'{{WRAPPER}} .single-language-courses-box h3, .single-yoga-courses-box .courses-content h3' => '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}} .single-language-courses-box p, .single-yoga-courses-box .courses-content p',
                ]
            );

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

        $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;

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

		?>
        <?php if( $settings['style'] == '1' ): ?>
            <div class="boxes-area bg-f5f7fa">
                <div class="container">
                    <div class="row">
                        <?php foreach( $settings['card_item'] as $item ):
                            // Get Button Link
                            if( $item['link_type'] == 1 ){
                                $link = get_page_link( $item['link_to_page'] );
                            } else {
                                $link = $item['ex_link'];
                            }

                            // Icon
                            $icon =$item['default_icon'];
                            ?>
                            <div class="col-lg-4 col-md-6 col-sm-6">
                                <div class="single-language-courses-box">
                                    <?php if( $item['image']['url'] != '' ): ?>
                                        <?php if( $is_lazyloader == true ): ?>
                                            <img sm-src="<?php echo esc_url( $item['image']['url'] ); ?>" alt="<?php echo esc_attr( $item['title'] ); ?>">
                                        <?php else: ?>
                                            <img src="<?php echo esc_url( $item['image']['url'] ); ?>" alt="<?php echo esc_attr( $item['title'] ); ?>">
                                        <?php endif; ?>
                                    <?php endif; ?>
                                    <h3><?php echo esc_html( $item['title'] ); ?></h3>
                                    <p><?php echo esc_html( $item['content'] ); ?></p>

                                    <?php if( $item['link_text'] != '' ): ?>
                                        <a href="<?php echo esc_url( $link ); ?>" class="default-btn"><i class="<?php echo esc_attr( $icon ); ?>"></i><?php echo esc_html( $item
                                    ['link_text'] ); ?><span></span></a>
                                    <?php endif; ?>
                                </div>
                            </div>
                        <?php endforeach; ?>
                    </div>
                </div>

            </div>
        <?php elseif( $settings['style'] == '2' ): ?>
            <div class="container">
                <div class="row">
                    <?php foreach( $settings['yoga_card_item'] as $item ):
                        // Get Button Link
                        if( $item['yoga_link_type'] == 1 ){
                            $link = get_page_link( $item['yoga_link_to_page'] );
                        } else {
                            $link = $item['yoga_ex_link'];
                        }

                        ?>
                        <div class="col-lg-4 col-md-6">
                            <div class="single-yoga-courses-box">
                                <?php if( $item['yoga_image']['url'] != '' ): ?>
                                    <div class="courses-image">
                                        <?php if( $is_lazyloader == true ): ?>
                                            <img sm-src="<?php echo esc_url( $item['yoga_image']['url'] ); ?>" alt="<?php echo esc_attr( $item['yoga_title'] ); ?>">
                                        <?php else: ?>
                                            <img src="<?php echo esc_url( $item['yoga_image']['url'] ); ?>" alt="<?php echo esc_attr( $item['yoga_title'] ); ?>">
                                        <?php endif; ?>
                                    </div>
                                <?php endif; ?>
                                <div class="courses-content">
                                    <h3><?php echo esc_html( $item['yoga_title'] ); ?></h3>
                                    <p><?php echo esc_html( $item['yoga_content'] ); ?></p>

                                    <?php if( $item['yoga_link_text'] != '' ): ?>
                                        <a href="<?php echo esc_url( $link ); ?>" class="default-btn"><?php echo esc_html( $item
                                    ['yoga_link_text'] ); ?><span></span></a>
                                    <?php endif; ?>
                                </div>
                            </div>
                        </div>
                    <?php endforeach; ?>
                </div>
            </div>
        <?php endif ?>
        <?php
	}


}

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