Server IP : 172.67.157.199 / Your IP : 18.191.210.170 [ Web Server : Apache System : Linux b70eb322-3aee-0c53-7c82-0db91281f2c6.secureserver.net 6.1.90-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 2 12:09:22 EDT 2024 x86_64 User : root ( 0) PHP Version : 8.0.30.2 Disable Function : NONE Domains : 0 Domains MySQL : ON | cURL : ON | WGET : ON | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/wp-content/themes/sammy/elementor/widgets/ |
Upload File : |
<?php use Elementor\Widget_Base; use Elementor\Controls_Manager; use \Elementor\Group_Control_Typography; use \Elementor\Group_Control_Border; use \Elementor\Group_Control_Box_Shadow; use \Elementor\Group_Control_Background; use Elementor\Utils; if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly class Podover_Elementor_Video extends Widget_Base { public function get_name() { return 'podover_elementor_video'; } public function get_title() { return esc_html__( 'Video', 'podover' ); } public function get_icon() { return 'eicon-play-o'; } public function get_categories() { return [ 'podover' ]; } public function get_script_depends() { return [ 'podover-elementor-video' ]; } // Add Your Controll In This Function protected function register_controls() { /* Begin section icon */ $this->start_controls_section( 'section_icon', [ 'label' => esc_html__( 'Icon', 'podover' ), ] ); $this->add_control( 'icon_class', [ 'label' => esc_html__( 'Icon Class', 'podover' ), 'type' => Controls_Manager::TEXT, 'default' => 'fa fa-play', ] ); $this->add_control( 'icon_url_video', [ 'label' => esc_html__( 'URL Video', 'podover' ), 'type' => Controls_Manager::TEXT, 'placeholder' => esc_html__( 'Enter your URL', 'podover' ) . ' (YouTube)', 'default' => 'https://www.youtube.com/watch?v=XHOmBV4js_E', ] ); $this->add_control( 'icon_text', [ 'label' => esc_html__( 'Text', 'podover' ), 'type' => Controls_Manager::TEXT, 'default' => esc_html__( '', 'podover' ), ] ); $this->add_control( 'link', [ 'label' => esc_html__( 'Link', 'podover' ), 'type' => Controls_Manager::URL, 'dynamic' => [ 'active' => true, ], 'condition' => [ 'icon_url_video' => '', ], ] ); $this->add_control( 'video_options', [ 'label' => esc_html__( 'Video Options', 'podover' ), 'type' => Controls_Manager::HEADING, 'separator' => 'before', 'condition' => [ 'icon_url_video!' => '', ], ] ); $this->add_control( 'autoplay_video', [ 'label' => esc_html__( 'Autoplay', 'podover' ), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Yes', 'podover' ), 'label_off' => esc_html__( 'No', 'podover' ), 'default' => 'yes', 'condition' => [ 'icon_url_video!' => '', ], ] ); $this->add_control( 'mute_video', [ 'label' => esc_html__( 'Mute', 'podover' ), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Yes', 'podover' ), 'label_off' => esc_html__( 'No', 'podover' ), 'default' => 'no', 'condition' => [ 'icon_url_video!' => '', ], ] ); $this->add_control( 'loop_video', [ 'label' => esc_html__( 'Loop', 'podover' ), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Yes', 'podover' ), 'label_off' => esc_html__( 'No', 'podover' ), 'default' => 'yes', 'condition' => [ 'icon_url_video!' => '', ], ] ); $this->add_control( 'player_controls_video', [ 'label' => esc_html__( 'Player Controls', 'podover' ), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Yes', 'podover' ), 'label_off' => esc_html__( 'No', 'podover' ), 'default' => 'yes', 'condition' => [ 'icon_url_video!' => '', ], ] ); $this->add_control( 'modest_branding_video', [ 'label' => esc_html__( 'Modest Branding', 'podover' ), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Yes', 'podover' ), 'label_off' => esc_html__( 'No', 'podover' ), 'default' => 'yes', 'condition' => [ 'icon_url_video!' => '', ], ] ); $this->add_control( 'show_info_video', [ 'label' => esc_html__( 'Show Info', 'podover' ), 'type' => Controls_Manager::SWITCHER, 'label_on' => esc_html__( 'Yes', 'podover' ), 'label_off' => esc_html__( 'No', 'podover' ), 'default' => 'no', 'condition' => [ 'icon_url_video!' => '', ], ] ); $this->end_controls_section(); /* End section icon */ /* Begin section icon style */ $this->start_controls_section( 'section_icon_style', [ 'label' => esc_html__( 'Icon', 'podover' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->start_controls_tabs( 'tabs_icon_style' ); $this->start_controls_tab( 'tab_icon_normal', [ 'label' => esc_html__( 'Normal', 'podover' ), ] ); $this->add_control( 'icon_color_normal', [ 'label' => esc_html__( 'Color', 'podover' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .ova-video .icon-content-view .content i' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'icon_background_normal', [ 'label' => esc_html__( 'Background', 'podover' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .ova-video .icon-content-view .content' => 'background-color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'icon_bg_gradient_normal', 'label' => esc_html__( 'Background Gradient', 'podover' ), 'types' => [ 'gradient' ], 'selector' => '{{WRAPPER}} .ova-video .icon-content-view .content', ] ); $this->end_controls_tab(); $this->start_controls_tab( 'tab_icon_hover', [ 'label' => esc_html__( 'Hover', 'podover' ), ] ); $this->add_control( 'icon_color_hover', [ 'label' => esc_html__( 'Color', 'podover' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .ova-video .icon-content-view .content:hover i' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'icon_background_hover', [ 'label' => esc_html__( 'Background', 'podover' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .ova-video .icon-content-view .content:hover' => 'background-color: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Background::get_type(), [ 'name' => 'icon_bg_gradient_hover', 'label' => esc_html__( 'Background Gradient', 'podover' ), 'types' => [ 'gradient' ], 'selector' => '{{WRAPPER}} .ova-video .icon-content-view .content:hover', ] ); $this->end_controls_tab(); $this->end_controls_tabs(); $this->add_responsive_control( 'icon_width', [ 'label' => esc_html__( 'Width', 'podover' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'unit' => 'px', ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 400, ], '%' => [ 'min' => 0, 'max' => 100, ], ], 'size_units' => [ '%', 'px' ], 'selectors' => [ '{{WRAPPER}} .ova-video .icon-content-view .content' => 'width: {{SIZE}}{{UNIT}}; min-width: {{SIZE}}{{UNIT}};', ], 'separator' => 'before' ] ); $this->add_responsive_control( 'icon_height', [ 'label' => esc_html__( 'Height', 'podover' ), 'type' => Controls_Manager::SLIDER, 'default' => [ 'unit' => 'px', ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 400, ], '%' => [ 'min' => 0, 'max' => 100, ], ], 'size_units' => [ '%', 'px' ], 'selectors' => [ '{{WRAPPER}} .ova-video .icon-content-view .content' => 'height: {{SIZE}}{{UNIT}}; min-height: {{SIZE}}{{UNIT}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'icon_typography', 'selector' => '{{WRAPPER}} .ova-video .icon-content-view .content i', ] ); $this->add_group_control( Group_Control_Border::get_type(), [ 'name' => 'icon_before_border', 'selector' => '{{WRAPPER}} .ova-video .icon-content-view .content:before', 'separator' => 'before', ] ); $this->add_group_control( Group_Control_Box_Shadow::get_type(), [ 'name' => 'icon_box_shadow', 'label' => esc_html__( 'Box Shadow', 'podover' ), 'selector' => '{{WRAPPER}} .ova-video .icon-content-view .content', ] ); $this->add_control( 'icon_border_radius', [ 'label' => esc_html__( 'Border Radius', 'podover' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%' ], 'selectors' => [ '{{WRAPPER}} .ova-video .icon-content-view .content' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'content_margin', [ 'label' => esc_html__( 'Margin', 'podover' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .ova-video .icon-content-view .content' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); /* Begin text Style */ $this->start_controls_section( 'text_style', [ 'label' => esc_html__( 'Text', 'podover' ), 'tab' => Controls_Manager::TAB_STYLE, ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'text_typography', 'selector' => '{{WRAPPER}} .ova-video .icon-content-view .ova-text', ] ); $this->add_control( 'text_color', [ 'label' => esc_html__( 'Color', 'podover' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .ova-video .icon-content-view .ova-text, {{WRAPPER}} .ova-video .icon-content-view .ova-text a' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'text_color_hover', [ 'label' => esc_html__( 'Color Hover', 'podover' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .ova-video .icon-content-view .ova-text:hover a, {{WRAPPER}} .ova-video .icon-content-view .ova-text:hover' => 'color: {{VALUE}};', ], ] ); $this->add_responsive_control( 'text_padding', [ 'label' => esc_html__( 'Padding', 'podover' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', '%', 'em' ], 'selectors' => [ '{{WRAPPER}} .ova-video .icon-content-view .ova-text' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->end_controls_section(); /* End text style */ } // Render Template Here protected function render() { $settings = $this->get_settings(); $icon_class = $settings['icon_class']; $url_video = $settings['icon_url_video']; $icon_text = $settings['icon_text']; $link = $settings['link']['url']; $tg_blank = ''; if ( $settings['link']['is_external'] == 'on' ) { $tg_blank = 'target="_blank"'; } if ( ! $link ) { $url = $link; } $autoplay = $settings['autoplay_video']; $mute = $settings['mute_video']; $loop = $settings['loop_video']; $controls = $settings['player_controls_video']; $modest = $settings['modest_branding_video']; $show_info = $settings['show_info_video']; ?> <div class="ova-video"> <div class="icon-content-view video_active"> <?php if ( ! empty( $url_video ) ) : ?> <div class="content video-btn" id="ova-video" data-src="<?php echo esc_url( $url_video ); ?>" data-autoplay="<?php echo esc_attr( $autoplay ); ?>" data-mute="<?php echo esc_attr( $mute ); ?>" data-loop="<?php echo esc_attr( $loop ); ?>" data-controls="<?php echo esc_attr( $controls ); ?>" data-modest="<?php echo esc_attr( $modest ); ?>" data-show_info="<?php echo esc_attr( $show_info ); ?>"> <i class="<?php echo esc_attr( $icon_class ); ?>"></i> </div> <?php else: ?> <div class="content"> <i class="<?php echo esc_attr( $icon_class ); ?>"></i> </div> <?php endif; ?> <?php if ( $icon_text ): ?> <p class="ova-text"> <?php if ( $url ): ?> <a href="<?php echo esc_url( $url ); ?>" <?php echo esc_html( $tg_blank ); ?>> <?php echo esc_html( $icon_text ); ?> </a> <?php else: ?> <?php echo esc_html( $icon_text ); ?> <?php endif; ?> </p> <?php endif; ?> </div> <div class="modal-container"> <div class="modal"> <i class="ovaicon-cancel"></i> <iframe class="modal-video" allow="autoplay" allowFullScreen="allowFullScreen"></iframe> </div> </div> </div> <?php } } $widgets_manager->register( new Podover_Elementor_Video() );