54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Stratum\Managers;
 | 
						|
 | 
						|
use \Elementor\Plugin;
 | 
						|
 | 
						|
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
 | 
						|
 | 
						|
/**
 | 
						|
 * Class Controls_Manager
 | 
						|
 * @package Stratum
 | 
						|
 */
 | 
						|
class Controls_Manager {
 | 
						|
 | 
						|
	private $prefix;
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Controls_Manager constructor.
 | 
						|
	 */
 | 
						|
	public function __construct() {
 | 
						|
		$settings = \Stratum\Settings::get_instance();
 | 
						|
 | 
						|
		$this->prefix  = $settings->getPrefix();
 | 
						|
 | 
						|
		add_action( 'elementor/controls/register', [ $this, 'register_controls' ] );
 | 
						|
	}
 | 
						|
 | 
						|
	public function register_controls() {
 | 
						|
		if ( defined( 'ELEMENTOR_PATH' ) && class_exists( 'Elementor\Element_Base' ) ) {
 | 
						|
			if ( class_exists( 'Elementor\Plugin' ) ) {
 | 
						|
				if ( is_callable( 'Elementor\Plugin', 'instance' ) ) {
 | 
						|
					$elementor = Plugin::instance();
 | 
						|
					if ( isset( $elementor->controls_manager ) ) {
 | 
						|
 | 
						|
						//Files controls list
 | 
						|
						$controls = array(
 | 
						|
							'group_control_typography',
 | 
						|
							'ajax_control',
 | 
						|
						);
 | 
						|
 | 
						|
						foreach ($controls as $key => $control_name) {
 | 
						|
							$path = stratum_get_plugin_path( '/includes/controls/' . $control_name . '.php' );
 | 
						|
 | 
						|
							if ( file_exists( $path ) ) {
 | 
						|
								require_once( $path );
 | 
						|
							}
 | 
						|
						}
 | 
						|
					}
 | 
						|
				}
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |