✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ server366.web-hosting.com ​🇻​♯➤ 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2025

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 67.223.118.204 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.243
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /home/builxejc/public_html/wp-content/plugins/kinsley-plugin/elementor/widgets//hero-banner.php
<?php
namespace Elementor;

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

/**
 * Kinsley Hero Banner Widget.
 *
 * @since 1.0
 */
class Kinsley_Hero_Banner_Widget extends Widget_Base {

	public function get_name() {
		return 'kinsley-hero-banner';
	}

	public function get_title() {
		return esc_html__( 'Hero Banner', 'kinsley-plugin' );
	}

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

	public function get_categories() {
		return [ 'kinsley-category' ];
	}

	/**
	 * Register widget controls.
	 *
	 * @since 1.0
	 */
	protected function register_controls() {
		if ( class_exists( 'HotelBookingPlugin' ) ) {
			$minAdults   = MPHB()->settings()->main()->getMinAdults();
	    	$maxAdults   = MPHB()->settings()->main()->getSearchMaxAdults();
	    	$minChildren = MPHB()->settings()->main()->getMinChildren();
	    	$maxChildren = MPHB()->settings()->main()->getSearchMaxChildren();
	    	$dateFormat  = MPHB()->settings()->dateTime()->getDateFormat();
		} else {
			$minAdults   = 1;
	    	$maxAdults   = 0;
	    	$minChildren = 0;
	    	$maxChildren = 0;
	    	$dateFormat  = '';
		}

		$this->start_controls_section(
			'title_tab',
			[
				'label' => esc_html__( 'Title', 'kinsley-plugin' ),
				'tab' => Controls_Manager::TAB_CONTENT,
			]
		);

		$this->add_control(
			'align',
			[
				'label' => __( 'Alignment', 'kinsley-plugin' ),
				'type' => Controls_Manager::CHOOSE,
				'options' => [
					'left' => [
						'title' => __( 'Left', 'kinsley-plugin' ),
						'icon' => 'eicon-text-align-left',
					],
					'center' => [
						'title' => __( 'Center', 'kinsley-plugin' ),
						'icon' => 'eicon-text-align-center',
					],
					'right' => [
						'title' => __( 'Right', 'kinsley-plugin' ),
						'icon' => 'eicon-text-align-right',
					],
				],
				'selectors' => [
					'{{WRAPPER}} .knsl-center' => 'text-align: {{VALUE}};',
				],
				'default'	=> 'center',
			]
		);

		$this->add_control(
			'layout',
			[
				'label'       => esc_html__( 'Layout', 'kinsley-plugin' ),
				'type'        => Controls_Manager::SELECT,
				'default' => 'style-1',
				'options' => [
					'style-1'  => __( 'Style 1', 'kinsley-plugin' ),
					'style-2' => __( 'Style 2', 'kinsley-plugin' ),
					'style-3' => __( 'Style 3', 'kinsley-plugin' ),
				],
			]
		);

		$this->add_control(
			'subtitle_pos', [
				'label'       => esc_html__( 'Subtitle Position', 'kinsley-plugin' ),
				'type'        => Controls_Manager::SELECT,
				'default' => 'default',
				'options' => [
					'default'  => __( 'Default', 'kinsley-plugin' ),
					'top' => __( 'Top', 'kinsley-plugin' ),
				],
			]
		);

		$this->add_control(
			'stars_align', [
				'label'       => esc_html__( 'Stars Align', 'kinsley-plugin' ),
				'type'        => Controls_Manager::SELECT,
				'default' => 'center',
				'options' => [
					'center'  => __( 'Center', 'kinsley-plugin' ),
					'left' => __( 'Left', 'kinsley-plugin' ),
				],
			]
		);

		$this->add_control(
			'title',
			[
				'label'       => esc_html__( 'Title', 'kinsley-plugin' ),
				'type'        => Controls_Manager::TEXTAREA,
				'placeholder' => esc_html__( 'Enter title', 'kinsley-plugin' ),
				'default'     => esc_html__( 'Title', 'kinsley-plugin' ),
			]
		);

		$this->add_control(
			'subtitle',
			[
				'label'       => esc_html__( 'Subtitle', 'kinsley-plugin' ),
				'type'        => Controls_Manager::TEXTAREA,
				'placeholder' => esc_html__( 'Enter subtitle', 'kinsley-plugin' ),
				'default'     => esc_html__( 'Subtitle', 'kinsley-plugin' ),
			]
		);

		$this->add_control(
			'title_tag',
			[
				'label'       => esc_html__( 'Title Tag', 'kinsley-plugin' ),
				'type'        => Controls_Manager::SELECT,
				'default' => 'h1',
				'options' => [
					'h1'  => __( 'H1', 'kinsley-plugin' ),
					'h2' => __( 'H2', 'kinsley-plugin' ),
					'h3' => __( 'H3', 'kinsley-plugin' ),
					'div' => __( 'DIV', 'kinsley-plugin' ),
				],
			]
		);

		$this->add_control(
			'stars',
			[
				'label'       => esc_html__( 'Stars', 'kinsley-plugin' ),
				'type' => Controls_Manager::SWITCHER,
				'label_on' => __( 'Show', 'kinsley-plugin' ),
				'label_off' => __( 'Hide', 'kinsley-plugin' ),
				'return_value' => 'yes',
				'default' => 'yes',
			]
		);

		$this->add_control(
			'stars_num',
			[
				'label'       => esc_html__( 'Num of stars', 'kinsley-plugin' ),
				'type'        => Controls_Manager::NUMBER,
				'min' => 1,
				'max' => 10,
				'step' => 1,
				'default' => 5,
				'condition' => [
  				'stars' => 'yes'
  			],
			]
		);

		$this->end_controls_section();

		$this->start_controls_section(
			'search_tab',
			[
				'label' => esc_html__( 'Search', 'kinsley-plugin' ),
				'tab' => Controls_Manager::TAB_CONTENT,
			]
		);

		$this->add_control(
			'layout_transparent',
			[
				'label'       => esc_html__( 'Search Minimal', 'kinsley-plugin' ),
				'type'        => Controls_Manager::SELECT,
				'default' => 'no',
				'options' => [
					'no'  => __( 'No', 'kinsley-plugin' ),
					'yes' => __( 'Yes', 'kinsley-plugin' ),
				],
				'condition' => [
					'layout' => 'style-1'
				]
			]
		);

		$this->add_control(
			'search',
			[
				'label'       => esc_html__( 'Show Search/Booking Form', 'kinsley-plugin' ),
				'type' => Controls_Manager::SWITCHER,
				'label_on' => __( 'Show', 'kinsley-plugin' ),
				'label_off' => __( 'Hide', 'kinsley-plugin' ),
				'return_value' => 'yes',
				'default' => 'yes',
			]
		);

		$this->add_control(
			'search_custom',
			[
				'label'       => esc_html__( 'Use Custom Search Form', 'kinsley-plugin' ),
				'type' => Controls_Manager::SWITCHER,
				'label_on' => __( 'Show', 'kinsley-plugin' ),
				'label_off' => __( 'Hide', 'kinsley-plugin' ),
				'return_value' => 'yes',
				'default' => 'no',
			]
		);
		
		$this->add_control(
			'search_custom_content',
			[
				'label' => esc_html__( 'Shortcode or HTML Code', 'elementor' ),
				'type' => Controls_Manager::CODE,
				'default' => '',
				'placeholder' => esc_html__( 'Enter your code', 'elementor' ),
				'dynamic' => [
					'active' => true,
				],
				'condition' => [
					'search_custom' => 'yes',
  				],
			]
		);

		$this->add_control(
			'search_custom_wrap_disable',
			[
				'label'       => esc_html__( 'Disable Kinsley Form Wrapper', 'kinsley-plugin' ),
				'type' => Controls_Manager::SWITCHER,
				'label_on' => __( 'Yes', 'kinsley-plugin' ),
				'label_off' => __( 'No', 'kinsley-plugin' ),
				'return_value' => 'yes',
				'default' => 'no',
				'condition' => [
					'search_custom' => 'yes',
  				],
			]
		);

		$this->add_control('form_type', array(
        	'label'       => __('Form Type', 'kinsley-plugin'),
        	'type'        => Controls_Manager::SELECT,
			'default' => 'search',
			'options' => [
				'search'  => __( 'Search', 'kinsley-plugin' ),
				'booking' => __( 'Booking', 'kinsley-plugin' ),
			],
        	'condition' => [
  				'search' => 'yes'
  			],
    	));

		$this->add_control('accommodation_id', array(
        	'type'        => Controls_Manager::NUMBER,
        	'label'       => __('Accommodation ID', 'kinsley-plugin'),
        	'description' => __('The ID of accommodation for booking form.', 'kinsley-plugin'),
        	'condition' => [
  				'search' => 'yes',
				'form_type' => 'booking'
  			],
    	));

		$this->add_control('adults', array(
        	'type'        => Controls_Manager::NUMBER,
        	'label'       => __('Adults', 'kinsley-plugin'),
        	'description' => __('The number of adults presetted in the search form.', 'kinsley-plugin'),
        	'default'     => $minAdults,
        	'min'         => $minAdults,
        	'condition' => [
  				'search' => 'yes',
				'form_type' => 'search'
  			],
    	));

		$this->add_control('children', array(
			'type'        => Controls_Manager::NUMBER,
			'label'       => __('Children', 'kinsley-plugin'),
			'description' => __('The number of children presetted in the search form.', 'kinsley-plugin'),
			'default'     => $minChildren,
			'min'         => $minChildren,
			'condition' => [
				'search' => 'yes',
				'form_type' => 'search'
			],
			'max'         => $maxChildren
		));

		$this->add_control('check_in_date', array(
			'type'        => Controls_Manager::TEXT,
			'label'       => __('Check-in date', 'kinsley-plugin'),
			'description' => __('Check-in date presetted in the search form.', 'kinsley-plugin'),
			'placeholder' => $dateFormat,
			'condition' => [
				'search' => 'yes',
				'form_type' => 'search'
			],
			'default'     => ''
		));

		$this->add_control('check_out_date', array(
			'type'        => Controls_Manager::TEXT,
			'label'       => __('Check-out date', 'kinsley-plugin'),
			'description' => __('Check-out date presetted in the search form.', 'kinsley-plugin'),
			'placeholder' => $dateFormat,
			'condition' => [
				'search' => 'yes',
				'form_type' => 'search'
			],
			'default'     => ''
		));

		$this->add_control('attributes', array(
			'type'        => Controls_Manager::TEXT,
			'label'       => __('Attributes', 'kinsley-plugin'),
			'description' => __('Custom attributes for advanced search.', 'kinsley-plugin'),
			'placeholder' => __('Slugs of attributes', 'kinsley-plugin'),
			'condition' => [
				'search' => 'yes',
				'form_type' => 'search'
			],
			'default'     => ''
		));

		$this->add_control('class', array(
			'type'        => Controls_Manager::TEXT,
			'label'       => __('Class', 'kinsley-plugin'),
			'description' => __('Custom CSS class for shortcode wrapper.', 'kinsley-plugin'),
			'condition' => [
				'search' => 'yes',
				'form_type' => 'search'
			],
			'default'     => ''
		));

		$this->end_controls_section();

		$this->start_controls_section(
			'scroll_tab',
			[
				'label' => esc_html__( 'Scroll', 'kinsley-plugin' ),
				'tab' => Controls_Manager::TAB_CONTENT,
			]
		);

		$this->add_control(
			'scrolldown',
			[
				'label'       => esc_html__( 'Scroll down', 'kinsley-plugin' ),
				'type' => Controls_Manager::SWITCHER,
				'label_on' => __( 'Show', 'kinsley-plugin' ),
				'label_off' => __( 'Hide', 'kinsley-plugin' ),
				'return_value' => 'yes',
				'default' => 'yes',
			]
		);

		$this->add_control(
			'scrolldown_text',
			[
				'label'       => esc_html__( 'Scroll down (Text)', 'kinsley-plugin' ),
				'type'        => Controls_Manager::TEXT,
				'label_block' => true,
				'placeholder' => esc_html__( 'Scroll down', 'kinsley-plugin' ),
				'default'     => esc_html__( 'Scroll down', 'kinsley-plugin' ),
				'condition' => [
					'scrolldown' => 'yes'
				]
			]
		);

		$this->end_controls_section();

		$this->start_controls_section(
			'buttons_tab',
			[
				'label' => esc_html__( 'Buttons & Labels', 'kinsley-plugin' ),
				'tab' => Controls_Manager::TAB_CONTENT,
				'condition' => [
					'layout' => 'style-3'
				]
			]
		);

		$this->add_control(
			'button_video_text',
			[
				'label'       => esc_html__( 'Video Popup Button (Label)', 'kinsley-plugin' ),
				'label_block' => true,
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'Watch Video', 'kinsley-plugin' ),
				'default'	=> esc_html__( 'Watch Video', 'kinsley-plugin' ),
			]
		);

		$this->add_control(
			'video_id',
			[
				'label'       => esc_html__( 'Video Popup (Youtube ID)', 'kinsley-plugin' ),
				'label_block' => true,
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'wsq-r8lMMsk', 'kinsley-plugin' ),
				'default'	=> esc_html__( 'wsq-r8lMMsk', 'kinsley-plugin' ),
			]
		);

		$this->add_control(
			'button_search_popup_text',
			[
				'label'       => esc_html__( 'Search Popup Button (Label)', 'kinsley-plugin' ),
				'label_block' => true,
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'Book now', 'kinsley-plugin' ),
				'default'	=> esc_html__( 'Book now', 'kinsley-plugin' ),
			]
		);

		$this->add_control(
			'button_search_popup_link',
			[
				'label'       => esc_html__( 'Search Popup Button (Link)', 'kinsley-plugin' ),
				'label_block' => true,
				'type'        => Controls_Manager::TEXT,
				'placeholder' => '#booknow',
				'default'	=> '',
			]
		);

		$this->add_control(
			'title_search_popup',
			[
				'label'       => esc_html__( 'Search Popup Title', 'kinsley-plugin' ),
				'type'        => Controls_Manager::TEXTAREA,
				'placeholder' => esc_html__( 'Search your Room', 'kinsley-plugin' ),
				'default'	=> esc_html__( 'Search your Room', 'kinsley-plugin' ),
			]
		);

		$this->end_controls_section();

		$this->start_controls_section(
			'background_tab',
			[
				'label' => esc_html__( 'Background', 'kinsley-plugin' ),
				'tab' => Controls_Manager::TAB_CONTENT,
			]
		);

		$this->add_control(
			'bg_type',
			[
				'label'       => esc_html__( 'Background Type', 'kinsley-plugin' ),
				'type'        => Controls_Manager::SELECT,
				'default' => 'image',
				'options' => [
					'image'  => __( 'Image', 'kinsley-plugin' ),
					'video' => __( 'Video', 'kinsley-plugin' ),
					'slideshow' => __( 'Slideshow', 'kinsley-plugin' ),
					'videoyt' => __( 'Video Youtube', 'kinsley-plugin' ),
				],
			]
		);

		$this->add_control(
			'image',
			[
				'label'       => esc_html__( 'Background Image', 'kinsley-plugin' ),
				'type' => Controls_Manager::MEDIA,
				'default' => [
					'url' => \Elementor\Utils::get_placeholder_image_src(),
				],
				'condition' => [
					'bg_type' => 'image'
				]
			]
		);

		$this->add_control(
			'video',
			[
				'label'       => esc_html__( 'Video (link)', 'kinsley-plugin' ),
				'label_block' => true,
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( '/video.mp4', 'kinsley-plugin' ),
				'condition' => [
					'bg_type' => 'video'
				]
			]
		);

		$this->add_control(
			'video_yt',
			[
				'label'       => esc_html__( 'Video Youtube (Video ID)', 'onovo-plugin' ),
				'type'        => Controls_Manager::TEXT,
				'placeholder' => esc_html__( 'XHOmBV4js_E', 'onovo-plugin' ),
				'default'     => '',
				'condition' => [
					'bg_type' => 'videoyt'
				],
			]
		);

		$repeater = new \Elementor\Repeater();

		$repeater->add_control(
			'image', [
				'label' => esc_html__( 'Image', 'kinsley-plugin' ),
				'type' => Controls_Manager::MEDIA,
				'default' => [
					'url' => \Elementor\Utils::get_placeholder_image_src(),
				],
			]
		);

		$repeater->add_control(
			'title', [
				'label'       => esc_html__( 'Title', 'kinsley-plugin' ),
				'type'        => Controls_Manager::TEXTAREA,
				'placeholder' => esc_html__( 'Enter title', 'kinsley-plugin' ),
				'default'	=> esc_html__( 'Enter title', 'kinsley-plugin' ),
			]
		);

		$this->add_control(
			'slides',
			[
				'label' => esc_html__( 'Items', 'kinsley-plugin' ),
				'type' => Controls_Manager::REPEATER,
				'prevent_empty' => false,
				'fields' => $repeater->get_controls(),
				'title_field' => '{{{ title }}}',
				'condition' => [
					'bg_type' => 'slideshow'
				]
			]
		);

		$this->add_control(
			'params_slideshow_speed',
			[
				'label'       => esc_html__( 'Slideshow Speed', 'kinsley-plugin' ),
				'type'        => Controls_Manager::NUMBER,
				'min' => 0,
				'max' => 100000,
				'step' => 100,
				'default' => 1400,
				'condition' => [
  					'bg_type' => 'slideshow'
  				],
			]
		);

		$this->add_control(
			'params_slideshow_delay',
			[
				'label'       => esc_html__( 'Slideshow Delay', 'kinsley-plugin' ),
				'type'        => Controls_Manager::NUMBER,
				'min' => 0,
				'max' => 100000,
				'step' => 100,
				'default' => 3000,
				'condition' => [
  					'bg_type' => 'slideshow'
  				],
			]
		);

		$this->add_control(
			'params_overlay_opacity',
			[
				'label'       => esc_html__( 'Overlay Opacity', 'kinsley-plugin' ),
				'type'        => Controls_Manager::NUMBER,
				'min' => 0,
				'max' => 1,
				'step' => 0.1,
				'default' => 1,
			]
		);

		$this->end_controls_section();

		$this->start_controls_section(
			'content_styling',
			[
				'label'     => esc_html__( 'Content Styling', 'kinsley-plugin' ),
				'tab'       => Controls_Manager::TAB_STYLE,
			]
		);

		$this->add_control(
			'stars_color',
			[
				'label'     => esc_html__( 'Stars Color', 'kinsley-plugin' ),
				'type'      => Controls_Manager::COLOR,
				'default'	=> '',
				'selectors' => [
					'{{WRAPPER}} .knsl-banner .knsl-banner-content .knsl-main-title .knsl-stars' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'title_color',
			[
				'label'     => esc_html__( 'Title Color', 'kinsley-plugin' ),
				'type'      => Controls_Manager::COLOR,
				'default'	=> '',
				'selectors' => [
					'{{WRAPPER}} .knsl-banner .knsl-banner-content .knsl-main-title .knsl-main-title--h' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Typography::get_type(),
			[
				'name'     => 'title_typography',
				'label'     => esc_html__( 'Title Typography', 'kinsley-plugin' ),
				'selector' => '{{WRAPPER}} .knsl-banner .knsl-banner-content .knsl-main-title .knsl-main-title--h',
			]
		);

		$this->add_control(
			'desc_color',
			[
				'label'     => esc_html__( 'Description Color', 'kinsley-plugin' ),
				'type'      => Controls_Manager::COLOR,
				'default'	=> '',
				'selectors' => [
					'{{WRAPPER}} .knsl-banner .knsl-banner-content .knsl-main-title .knsl-main-title--d' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Typography::get_type(),
			[
				'name'     => 'desc_typography',
				'label'     => esc_html__( 'Description Typography', 'kinsley-plugin' ),
				'selector' => '{{WRAPPER}} .knsl-banner .knsl-banner-content .knsl-main-title .knsl-main-title--d',
			]
		);

		$this->end_controls_section();

		$this->start_controls_section(
			'search_styling',
			[
				'label'     => esc_html__( 'Search Styling', 'kinsley-plugin' ),
				'tab'       => Controls_Manager::TAB_STYLE,
			]
		);

		$this->add_control(
			'search_bg_color',
			[
				'label'     => esc_html__( 'Form BG Color', 'kinsley-plugin' ),
				'type'      => Controls_Manager::COLOR,
				'default'	=> '',
				'selectors' => [
					'{{WRAPPER}} .knsl-book-form' => 'background-color: {{VALUE}};',
					'{{WRAPPER}} .knsl-book-form .knsl-btn, {{WRAPPER}} .knsl-book-form .knsl-btn:focus' => 'box-shadow: 0 0 0 10px {{VALUE}}, 0 2px 48px 0 rgb(0 0 0 / 4%);',
				],
			]
		);

		$this->add_control(
			'search_color',
			[
				'label'     => esc_html__( 'Form Color', 'kinsley-plugin' ),
				'type'      => Controls_Manager::COLOR,
				'default'	=> '',
				'selectors' => [
					'{{WRAPPER}} .knsl-book-form' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Typography::get_type(),
			[
				'name'     => 'search_typography',
				'label'     => esc_html__( 'Form Typography', 'kinsley-plugin' ),
				'selector' => '{{WRAPPER}} .knsl-book-form',
			]
		);

		$this->add_control(
			'search_input_bg_color',
			[
				'label'     => esc_html__( 'Form Input BG Color', 'kinsley-plugin' ),
				'type'      => Controls_Manager::COLOR,
				'default'	=> '',
				'selectors' => [
					'{{WRAPPER}} .knsl-book-form form .nice-select, {{WRAPPER}} .knsl-book-form form input' => 'background-color: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'search_input_color',
			[
				'label'     => esc_html__( 'Form Input Color', 'kinsley-plugin' ),
				'type'      => Controls_Manager::COLOR,
				'default'	=> '',
				'selectors' => [
					'{{WRAPPER}} .knsl-book-form form .nice-select, {{WRAPPER}} .knsl-book-form form input, {{WRAPPER}} .knsl-book-form .knsl-input-frame:before' => 'color: {{VALUE}};',
					'{{WRAPPER}} .knsl-book-form .nice-select:after' => 'border-color: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'search_button_bg_color',
			[
				'label'     => esc_html__( 'Form Button BG Color', 'kinsley-plugin' ),
				'type'      => Controls_Manager::COLOR,
				'default'	=> '',
				'selectors' => [
					'{{WRAPPER}} .knsl-book-form form button.knsl-btn' => 'background-color: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'search_button_color',
			[
				'label'     => esc_html__( 'Form Button Color', 'kinsley-plugin' ),
				'type'      => Controls_Manager::COLOR,
				'default'	=> '',
				'selectors' => [
					'{{WRAPPER}} .knsl-book-form form button.knsl-btn' => 'color: {{VALUE}};',
					'{{WRAPPER}} .knsl-app.knsl-app-minimal .knsl-book-form.knsl-book-form-2 .mphb_sc_search-form > p.mphb_sc_search-submit-button-wrapper button' => 'color: {{VALUE}} !important;',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Typography::get_type(),
			[
				'name'     => 'search_button_typography',
				'label'     => esc_html__( 'Form Button Typography', 'kinsley-plugin' ),
				'selector' => '{{WRAPPER}} .knsl-book-form form button.knsl-btn',
			]
		);

		$this->end_controls_section();

		$this->start_controls_section(
			'scroll_styling',
			[
				'label'     => esc_html__( 'Scroll Styling', 'kinsley-plugin' ),
				'tab'       => Controls_Manager::TAB_STYLE,
			]
		);

		$this->add_control(
			'scroll_color',
			[
				'label'     => esc_html__( 'Label Color', 'kinsley-plugin' ),
				'type'      => Controls_Manager::COLOR,
				'default'	=> '',
				'selectors' => [
					'{{WRAPPER}} .knsl-banner .knsl-banner-content .knsl-scroll-hint-frame .knsl-white' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Typography::get_type(),
			[
				'name'     => 'scroll_typography',
				'label'     => esc_html__( 'Label Typography', 'kinsley-plugin' ),
				'selector' => '{{WRAPPER}} .knsl-banner .knsl-banner-content .knsl-scroll-hint-frame .knsl-white',
			]
		);

		$this->add_control(
			'scroll_icon_color',
			[
				'label'     => esc_html__( 'Icon Color', 'kinsley-plugin' ),
				'type'      => Controls_Manager::COLOR,
				'default'	=> '',
				'selectors' => [
					'{{WRAPPER}} .knsl-banner .knsl-banner-content .knsl-scroll-hint-frame .knsl-scroll-hint' => 'border-color: {{VALUE}};',
					'{{WRAPPER}} .knsl-banner .knsl-banner-content .knsl-scroll-hint-frame .knsl-scroll-hint:before' => 'background-color: {{VALUE}};',
				],
			]
		);

		$this->end_controls_section();

		$this->start_controls_section(
			'buttons_styling',
			[
				'label'     => esc_html__( 'Buttons Styling', 'kinsley-plugin' ),
				'tab'       => Controls_Manager::TAB_STYLE,
			]
		);

		$this->add_control(
			'button1_bg_color',
			[
				'label'     => esc_html__( 'Button 1 BG Color', 'kinsley-plugin' ),
				'type'      => Controls_Manager::COLOR,
				'default'	=> '',
				'selectors' => [
					'{{WRAPPER}} .knsl-banner-buttons .knsl-btn' => 'background-color: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'button2_bg_color',
			[
				'label'     => esc_html__( 'Button 2 BG Color', 'kinsley-plugin' ),
				'type'      => Controls_Manager::COLOR,
				'default'	=> '',
				'selectors' => [
					'{{WRAPPER}} .knsl-banner-buttons .knsl-btn.knsl-btn-accent-2' => 'background-color: {{VALUE}};',
				],
			]
		);

		$this->add_control(
			'button_color',
			[
				'label'     => esc_html__( 'Button Color', 'kinsley-plugin' ),
				'type'      => Controls_Manager::COLOR,
				'default'	=> '',
				'selectors' => [
					'{{WRAPPER}} .knsl-banner-buttons .knsl-btn' => 'color: {{VALUE}};',
				],
			]
		);

		$this->add_group_control(
			Group_Control_Typography::get_type(),
			[
				'name'     => 'button_typography',
				'label'     => esc_html__( 'Button Typography', 'kinsley-plugin' ),
				'selector' => '{{WRAPPER}} .knsl-banner-buttons .knsl-btn',
			]
		);

		$this->end_controls_section();
	}


	/**
	 * Render widget output on the frontend.
	 *
	 * @since 1.0
	 */
	protected function render() {
		$settings = $this->get_settings_for_display();

		$this->add_inline_editing_attributes( 'subtitle', 'basic' );
		$this->add_inline_editing_attributes( 'title', 'basic' );
		$this->add_inline_editing_attributes( 'scrolldown_text', 'basic' );
		$this->add_inline_editing_attributes( 'title_search_popup', 'basic' );
		$this->add_inline_editing_attributes( 'button_video_text', 'none' );
		$this->add_inline_editing_attributes( 'button_search_popup_text', 'none' );

		?>

		<!-- banner -->
	    <section class="knsl-banner">
	      <div class="knsl-cover-frame">
	      	<?php if ( $settings['bg_type'] == 'image' ) : ?>
	        <?php if ( $settings['image'] ) : $image = wp_get_attachment_image_url( $settings['image']['id'], 'kinsley_1920xAuto' ); ?>
	        <img src="<?php echo esc_url( $image ); ?>" alt="<?php echo esc_attr__( 'Image', 'kinsley-plugin' ); ?>" class="knsl-parallax">
	        <?php endif; ?>
	        <?php elseif ( $settings['bg_type'] == 'slideshow' ) : ?>
			<div class="knsl-banner-slideshow swiper-container" data-speed="<?php echo esc_attr( $settings['params_slideshow_speed'] ); ?>" data-delay="<?php echo esc_attr( $settings['params_slideshow_delay'] ); ?>">
				<!-- Additional required wrapper -->
				<div class="swiper-wrapper">
					<!-- Slides -->
					<?php if ( $settings['slides'] ) : ?>
					<?php foreach ( $settings['slides'] as $item ) : ?>
					<div class="swiper-slide">
						<?php if ( $item['image'] ) : $slide_image = wp_get_attachment_image_url( $item['image']['id'], 'kinsley_1920xAuto' ); ?>
						<img src="<?php echo esc_url( $slide_image ); ?>" alt="<?php echo esc_attr( $item['title'] ); ?>" class="knsl-parallax">
						<?php endif; ?>
					</div>
					<?php endforeach; ?>
					<?php endif; ?>
				</div>
			</div>
			<?php elseif ( $settings['bg_type'] == 'videoyt' ) : ?>
			<?php if ( $settings['video_yt'] ) : ?>
			<div class="knsl-parallax knsl-banner-slide videoyt">
				<iframe src="https://www.youtube.com/embed/<?php echo esc_attr( $settings['video_yt'] ); ?>?showinfo=0&controls=0&autoplay=1&mute=1&playsinline=1&loop=1&playlist=<?php echo esc_attr( $settings['video_yt'] );?>" class="hero-videoyt"></iframe>
			</div>
			<?php endif; ?>
			<?php else : ?>
	        <video class="knsl-parallax" muted playsinline autoplay loop>
	            <source src="<?php echo esc_url( $settings['video'] ); ?>">
	        </video>
	      	<?php endif; ?>
	      </div>
	      <div class="knsl-overlay" style="opacity: <?php echo esc_attr( $settings['params_overlay_opacity'] ); ?>;"></div>

	      <div class="knsl-banner-content<?php if ( $settings['layout'] == 'style-2' ) : ?> knsl-p-40-0<?php endif; ?>">
	        <div class="container">
	          <?php if ( $settings['layout'] == 'style-2' ) : ?><div class="row"><div class="col-lg-8 align-self-center"><?php endif; ?>
	          <div class="knsl-main-title<?php if ( $settings['layout'] == 'style-2' ) : ?> knsl-mb-40<?php endif; ?><?php if ( $settings['subtitle_pos'] == 'top' ) : ?> knsl-mb-10<?php endif; ?>">
	            <div class="knsl-white<?php if ( $settings['subtitle_pos'] == 'top' ) : ?> title-pos-top<?php endif; ?>">
	              <?php if ( $settings['stars'] == 'yes' ) : ?>
	              <ul class="knsl-stars<?php if ( $settings['layout'] == 'style-2' ) : ?> knsl-stars-left<?php endif; ?><?php if ( $settings['stars_align'] == 'left' ) : ?> knsl-stars-left<?php endif; ?>">
					<?php for ( $i = 0; $i<$settings['stars_num']; $i++ ) : ?>
					<li><i class="fas fa-star"></i></li>
					<?php endfor; ?>
	              </ul>
	              <?php endif; ?>
	              <!-- main-title -->
	              <?php if ( $settings['title'] ) : ?>
	              <<?php echo esc_attr( $settings['title_tag'] ); ?> class="<?php if ( $settings['layout'] == 'style-1' || $settings['layout'] == 'style-3' ) : ?>knsl-center <?php endif; ?>knsl-main-title--h<?php if ( $settings['subtitle_pos'] == 'default' ) : ?> knsl-mb-10<?php endif; ?><?php if ( $settings['subtitle_pos'] == 'top' ) : ?> knsl-mb-30<?php endif; ?>">
	              	<span <?php echo $this->get_render_attribute_string( 'title' ); ?>>
						<?php echo wp_kses_post( $settings['title'] ); ?>
					</span>
	          	  </<?php echo esc_attr( $settings['title_tag'] ); ?>>
	              <?php endif; ?>
	              <?php if ( $settings['subtitle'] ) : ?>
	              <div class="knsl-main-title--d<?php if ( $settings['subtitle_pos'] == 'default' ) : ?> knsl-mb-30<?php endif; ?><?php if ( $settings['layout'] == 'style-1' || $settings['layout'] == 'style-3' ) : ?> knsl-center<?php endif; ?>">
	              	<span <?php echo $this->get_render_attribute_string( 'subtitle' ); ?>>
						<?php echo wp_kses_post( $settings['subtitle'] ); ?>
					</span>
	              </div>
	              <?php endif; ?>
				  <?php if ( $settings['layout'] == 'style-2' ) : ?>
			          <?php if ( $settings['scrolldown'] == 'yes' ) : ?>
			          <div class="knsl-scroll-hint-frame knsl-scroll-hint-left">
			          	<?php if ( $settings['scrolldown_text'] ) : ?>
			            <div class="knsl-white knsl-mb-20">
			            	<span <?php echo $this->get_render_attribute_string( 'scrolldown_text' ); ?>>
					          	<?php echo wp_kses_post( $settings['scrolldown_text'] ); ?>
					        </span>
			            </div>
			            <?php endif; ?>
			            <a href="#knsl-triger-1" class="knsl-scroll-hint knsk-s-s"></a>
			          </div>
			          <?php endif; ?>
			      <?php endif; ?>
	            </div>
	          </div>

	          <?php if ( $settings['layout'] == 'style-2' ) : ?></div><div class="col-lg-4"><?php endif; ?>
	          <?php if ( $settings['search'] == 'yes' && ( $settings['layout'] == 'style-1' || $settings['layout'] == 'style-2' ) ) : ?>
	          <div class="knsl-book-form<?php if ( $settings['layout'] == 'style-1' || $settings['layout'] == 'style-3' ) : ?> knsl-book-form-2<?php else : ?> knsl-book-form-v<?php endif; ?><?php if ( $settings['layout_transparent'] == 'yes' && $settings['layout'] != 'style-2' ) : ?> knsl-book-form-2 knsl-book-form-minimal-2<?php endif; ?>">
	            <?php if ( $settings['search_custom'] != 'yes' ) : ?>
				<?php if ( $settings['form_type'] == 'booking' ) : echo do_shortcode( '[mphb_availability id="' . $settings['accommodation_id'] . '"]' ); else : echo do_shortcode( '[mphb_availability_search adults="' . $settings['adults'] . '" children="' . $settings['children'] . '" check_in_date="' . $settings['check_in_date'] . '" check_out_date="' . $settings['check_out_date'] . '" attributes="' . $settings['attributes'] . '" class="' . $settings['class'] . '"]' ); endif; ?>
				<?php endif; ?>
			  </div>
	          <?php endif; ?>
			  <?php if ( $settings['search_custom'] == 'yes' && ( $settings['layout'] == 'style-1' || $settings['layout'] == 'style-2' ) ) : ?>
			  <?php 
				if ( $settings['search_custom_wrap_disable'] == 'yes' ) : 
					$search_wrap_classes = 'knsl-book-form-custom';
				else :
					$search_wrap_classes = 'knsl-book-form';
					if ( $settings['layout'] == 'style-1' ) :
						$search_wrap_classes .= ' knsl-book-form-2';
						if ( $settings['layout_transparent'] == 'yes' && $settings['layout'] != 'style-2' ) :
							$search_wrap_classes .= ' knsl-book-form-2 knsl-book-form-minimal-2';
						endif;
					else :
						$search_wrap_classes .= ' knsl-book-form-v';
					endif;
				endif;
			  ?>
			  <div class="<?php echo esc_attr( $search_wrap_classes ); ?>">
				<?php $this->print_unescaped_setting( 'search_custom_content' ); ?>
	          </div>
	          <?php endif; ?>
	          <?php if ( $settings['layout'] == 'style-2' ) : ?></div></div><?php endif; ?>
	          <?php if ( $settings['layout'] == 'style-3' ) : ?>
	          <div class="knsl-banner-buttons knsl-mb-30 knsl-center">
	            <?php if ( $settings['button_video_text'] ) : ?>
	            <a data-magnific-video href="https://www.youtube.com/watch?v=<?php echo esc_attr( $settings['video_id'] ); ?>" class="knsl-btn knsl-transparent-border">
	            	<span class="img-svg img-svg-play knsl-zoom"></span>
	            	<span <?php echo $this->get_render_attribute_string( 'button_video_text' ); ?>>
  			          	<?php echo wp_kses_post( $settings['button_video_text'] ); ?>
  			        </span>
	            </a>
	            <?php endif; ?>
	            <?php if ( $settings['button_search_popup_text'] ) : ?>
	            <a href="<?php if ( $settings['button_search_popup_link'] ) : echo esc_attr( $settings['button_search_popup_link'] ); else : ?>#<?php endif; ?>" class="knsl-btn<?php if ( $settings['button_search_popup_link'] == '' ) : ?> knsl-btn-book<?php endif; ?> knsl-transparent-border knsl-btn-accent-2">
	            	<span class="img-svg img-svg-bookmark"></span>
	            	<span <?php echo $this->get_render_attribute_string( 'button_search_popup_text' ); ?>>
  			          	<?php echo wp_kses_post( $settings['button_search_popup_text'] ); ?>
  			        </span>
	            </a>
	            <?php endif; ?>
	          </div>
	          <?php endif; ?>
	          <?php if ( $settings['layout'] == 'style-1' || $settings['layout'] == 'style-3' ) : ?>
	          <?php if ( $settings['scrolldown'] == 'yes' ) : ?>
	          <div class="knsl-scroll-hint-frame">
	          	<?php if ( $settings['scrolldown_text'] ) : ?>
	            <div class="knsl-white knsl-mb-20">
	            	<span <?php echo $this->get_render_attribute_string( 'scrolldown_text' ); ?>>
			          	<?php echo wp_kses_post( $settings['scrolldown_text'] ); ?>
			        </span>
	            </div>
	            <?php endif; ?>
	            <a href="#knsl-triger-1" class="knsl-scroll-hint knsk-s-s"></a>
	          </div>
	          <?php endif; ?>
	          <?php endif; ?>
	        </div>
	      </div>
	    </section>
	    <!-- banner end -->

	    <?php if ( $settings['layout'] == 'style-3' ) : ?>
	    <!-- popup -->
	    <div class="knsl-popup-frame knsl-popup-frame-1">
	      <div class="knsl-book-form knsl-book-form-v knsl-book-popup">
	        <span class="knsl-close-popup">+</span>
	        <?php if ( $settings['title_search_popup'] ) : ?>
	        <h2 class="knsl-mb-40">
	        	<span <?php echo $this->get_render_attribute_string( 'title_search_popup' ); ?>>
		          	<?php echo wp_kses_post( $settings['title_search_popup'] ); ?>
		        </span>
	        </h2>
	        <?php endif; ?>

	        <?php 
			if ( $settings['form_type'] == 'booking' ) :
				echo do_shortcode( '[mphb_availability id="' . $settings['accommodation_id'] . '"]' );
			else :
				echo do_shortcode( '[mphb_availability_search adults="' . $settings['adults'] . '" children="' . $settings['children'] . '" check_in_date="' . $settings['check_in_date'] . '" check_out_date="' . $settings['check_out_date'] . '" attributes="' . $settings['attributes'] . '" class="' . $settings['class'] . '"]' );
			endif;
			?>

			<?php if ( $settings['search_custom'] == 'yes' ) : ?>
			  <?php 
				if ( $settings['search_custom_wrap_disable'] == 'yes' ) : 
					$search_wrap_classes = 'knsl-book-form-custom';
				else :
					$search_wrap_classes = 'knsl-book-form knsl-book-form-v';
				endif;
			?>
			  <div class="<?php echo esc_attr( $search_wrap_classes ); ?>">
				<?php $this->print_unescaped_setting( 'search_custom_content' ); ?>
	          </div>
	        <?php endif; ?>
	      </div>
	    </div>
	    <!-- popup end -->
	    <?php endif; ?>

		<?php
	}
}

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


Current_dir [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
28 Apr 2026 8.56 AM
builxejc / builxejc
0755
mphb
--
28 Apr 2026 8.56 AM
builxejc / builxejc
0755
.htaccess
0.41 KB
28 Apr 2026 8.56 AM
builxejc / builxejc
0644
about-gallery.php
17.428 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
about-quote.php
10.007 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
about-video.php
9.904 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
about.php
11.499 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
blog-carousel.php
21.767 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
blog-grid.php
27.798 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
buttons.php
5.732 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
cart.php
3.774 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
contact-form.php
10.558 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
contact-info.php
6.965 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
faq-list.php
19.125 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
faq.php
6.405 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
features-inner.php
10.119 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
features.php
5.8 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
footer-gallery.php
7.317 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
footer-menu.php
4.538 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
footer-social-links.php
3.519 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
gallery.php
17.963 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
header-buttons.php
7.553 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
header-logo.php
2.935 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
header-menu.php
6.327 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
hero-banner-2.php
18.282 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
hero-banner.php
34.374 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
hero-slider-creative.php
37.615 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
hero-slider.php
36.898 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
instagram.php
4.758 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
intro.php
11.509 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
map.php
6.364 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
menu-hamburger.php
8.029 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
numbers.php
7.626 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
photo-gallery.php
13.977 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
restaurant-menu-carousel.php
20.838 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
restaurant-menu-grid.php
26.705 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
restaurant-menu-list.php
17.503 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
section-heading-2.php
5.807 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
section-heading.php
8.16 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
services-custom.php
23.354 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
services.php
23.862 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
team.php
20.825 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
testimonials-2.php
11.434 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
testimonials.php
20.005 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644
video-section.php
3.256 KB
18 Nov 2024 1.15 PM
builxejc / builxejc
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF