HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/mm.xompoa.com/wp-content/plugins/elementskit-lite/modules/controls/init.php
<?php 
namespace ElementsKit_Lite\Modules\Controls;

defined( 'ABSPATH' ) || exit;

class Init {

	// instance of all control's base class
	public static function get_url() {
		return \ElementsKit_Lite::module_url() . 'controls/';
	}
	public static function get_dir() {
		return \ElementsKit_Lite::module_dir() . 'controls/';
	}

	public function __construct() {

		// Includes necessary files
		$this->include_files();
		
		// Initilizating control hooks
		add_action( 'elementor/controls/register', array( $this, 'image_choose' ), 11 );
		add_action( 'elementor/controls/register', array( $this, 'ajax_select2' ), 11 );
		add_action( 'elementor/controls/register', array( $this, 'widgetarea' ), 11 );

		// Initilizating control scripts
		add_action( 'elementor/frontend/after_enqueue_styles', array( $this, 'widgetarea_enqueue_styles_editor' ) );
		add_action( 'elementor/frontend/after_enqueue_scripts', array( $this, 'widgetarea_enqueue_scripts_editor' ), 22 );

		// Initilizating control classes
		$widget_area_utils = new Widget_Area_Utils();
		$widget_area_utils->init();
	}

	private function include_files() {
		// Controls_Manager
		include_once self::get_dir() . 'control-manager.php';

		// image choose
		include_once self::get_dir() . 'image-choose.php';

		// ajax select2
		include_once self::get_dir() . 'ajax-select2.php';
		include_once self::get_dir() . 'ajax-select2-api.php';

		// widgetarea
		include_once self::get_dir() . 'widget-area-utils.php';
		include_once self::get_dir() . 'widget-area.php';
	}

	public function image_choose( $controls_manager ) {
		$controls_manager->register( new \ElementsKit_Lite\Modules\Controls\Image_Choose() );
	}

	public function ajax_select2( $controls_manager ) {
		$controls_manager->register( new \ElementsKit_Lite\Modules\Controls\Ajax_Select2() );
	}

	public function widgetarea( $controls_manager ) {
		$controls_manager->register( new \ElementsKit_Lite\Modules\Controls\Widget_Area() );
	}
	
	public function widgetarea_enqueue_scripts_editor() {
		/**
		 * widgetarea-editor.js
		 * 
		 * Use dependencies ['jquery', 'elementor-frontend']
		 * Using ['jquery', 'elementor-editor'] causes Advanced Widgets content editor window not to open
		 */
		if ( is_preview() || \Elementor\Plugin::$instance->preview->is_preview_mode() ) {
			wp_enqueue_script( 'elementskit-js-widgetarea-control-editor', self::get_url() . 'assets/js/widgetarea-editor.js', array( 'jquery', 'elementor-frontend' ), \ElementsKit_Lite::version(), true );
		}
	}
	
	public function widgetarea_enqueue_styles_editor() {
		if ( is_preview() || \Elementor\Plugin::$instance->preview->is_preview_mode() ) {
			wp_enqueue_style( 'elementskit-css-widgetarea-control-editor', self::get_url() . 'assets/css/widgetarea-editor.css', array(), \ElementsKit_Lite::version() );
		}
	}

}