File: /mnt/data/dreamsrent-wp/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();