HEX
Server: nginx/1.24.0
System: Linux DGT-WORDPRESS-VM-SERVER 6.14.0-1014-azure #14~24.04.1-Ubuntu SMP Fri Oct 3 20:52:11 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.4.12
Disabled: NONE
Upload Files
File: /mnt/data/dreamsrent-wp-demo/wp-content/plugins/dreamsrent-widgets/plugin.php
<?php
namespace Dreamsrentelementor;
use Dreamsrentelementor\Widgets\DSR_banner;
use Dreamsrentelementor\Widgets\DSR_howworks;
use Dreamsrentelementor\Widgets\DSR_heading1;
use Dreamsrentelementor\Widgets\DSR_product_filter;
use Dreamsrentelementor\Widgets\DSR_product_filter_Type;
use Dreamsrentelementor\Widgets\DSR_TaxonomyCarousel;
use Dreamsrentelementor\Widgets\DSR_btn_action;
use Dreamsrentelementor\Widgets\DSR_counter;
use Dreamsrentelementor\Widgets\DSR_ProductsCarousel;
use Dreamsrentelementor\Widgets\DSR_whychoose;
use Dreamsrentelementor\Widgets\DRS_testimonial;
use Dreamsrentelementor\Widgets\DSR_faq;
use Dreamsrentelementor\Widgets\DSR_btn_box;
use Dreamsrentelementor\Widgets\DSR_about_info;
use Dreamsrentelementor\Widgets\DRS_team;
use Dreamsrentelementor\Widgets\DRS_testimonials;
use Dreamsrentelementor\Widgets\DSR_contactbox;
use Dreamsrentelementor\Widgets\DSR_contactform;

use Dreamsrentelementor\Widgets\dreamsrent_elementor_blog;
  


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

/**
 * Main Plugin Class
 *
 * Register new elementor widget.
 *
 * @since 1.0.0
 */
class Plugin {

	/**
	 * Constructor
	 *
	 * @since 1.0.0
	 *
	 * @access public
	 */
	public function __construct() {
		$this->add_actions();
	}

	/**
	 * Add Actions
	 *
	 * @since 1.0.0
	 *
	 * @access private
	 */
	private function add_actions() {

		add_action( 'elementor/widgets/register', [ $this, 'on_widgets_registered' ] );


		add_action( 'elementor/frontend/after_register_scripts', function() {

			wp_register_script( 'dreamsrentelementor-elementor', plugins_url( '/assets/js/dreamsrentelementor-elementor.js', ELEMENTOR_DREAMSRENTELEMENTOR__FILE__ ), [ 'jquery' ], false, true );
			wp_localize_script( 'dreamsrentelementor-elementor', 'ajax_object', array('ajax_url' => admin_url('admin-ajax.php')) );

			wp_register_script( 'markerclusterer', plugins_url( '/assets/js/markerclusterer.js', ELEMENTOR_DREAMSRENTELEMENTOR__FILE__ ), [ 'jquery' ], false, true );

	        wp_register_script( 'ova-google-maps-api', 'https://maps.googleapis.com/maps/api/js?key='.get_theme_mod( 'rental_googleapi_key', '' ).'&libraries=places', [ 'jquery' ],false,true );

		} );

	}

	

	/**
	 * On Widgets Registered
	 *
	 * @since 1.0.0
	 *
	 * @access public
	 */
	public function on_widgets_registered() {
		$this->includes();
		$this->register_widget();
	}

	/**
	 * Includes
	 *
	 * @since 1.0.0
	 *
	 * @access private
	 */
	private function includes() {
		require __DIR__ . '/widgets/class-banner.php';
		require __DIR__ . '/widgets/class-howworks.php';
		require __DIR__ . '/widgets/class-heading1.php';
		require __DIR__ . '/widgets/class-product_filter.php';
		require __DIR__ . '/widgets/class-product_filter_type.php';
		require __DIR__ . '/widgets/class-tax-carousel.php';
		require __DIR__ . '/widgets/class-btn_action.php';
		require __DIR__ . '/widgets/class-counter.php';
		require __DIR__ . '/widgets/class-product-carousel.php';
		require __DIR__ . '/widgets/class-whychoose.php';
		require __DIR__ . '/widgets/class-testimonial.php';
		require __DIR__ . '/widgets/class-faq.php';
		require __DIR__ . '/widgets/class-btn_box.php';
		require __DIR__ . '/widgets/class-about_info.php';
		require __DIR__ . '/widgets/class-team.php';
		require __DIR__ . '/widgets/class-testimonials.php';
		require __DIR__ . '/widgets/class-contactbox.php';
		require __DIR__ . '/widgets/class-contactform.php';

 		require __DIR__ . '/widgets/dreamsrentelementor_blog.php';
		require __DIR__ . '/widgets/class-plan-pricing.php';
  	}

	/**
	 * Register Widget
	 *
	 * @since 1.0.0
	 *
	 * @access private
	 */
	private function register_widget() {
		\Elementor\Plugin::instance()->widgets_manager->register( new DSR_banner() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DSR_howworks() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DSR_heading1() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DSR_product_filter() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DSR_product_filter_Type() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DSR_TaxonomyCarousel() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DSR_btn_action() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DSR_counter() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DSR_ProductsCarousel() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DSR_whychoose() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DRS_testimonial() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DSR_faq() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DSR_btn_box() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DSR_about_info() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DRS_team() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DRS_testimonials() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DSR_contactbox() );
		\Elementor\Plugin::instance()->widgets_manager->register( new DSR_contactform() );
		

  		\Elementor\Plugin::instance()->widgets_manager->register( new dreamsrent_elementor_blog() );
		\Elementor\Plugin::instance()->widgets_manager->register( new Widgets\DSR_plan_pricing() );
  	}
}

new Plugin();