%PDF- %PDF-
Direktori : /home/tradesc/www/relax/wp-content/plugins/premium-addons-for-elementor/includes/ |
Current File : /home/tradesc/www/relax/wp-content/plugins/premium-addons-for-elementor/includes/module-base.php |
<?php /** * Premium Addons Module Base. */ namespace PremiumAddons\Includes; use PremiumAddons\Admin\Includes\Admin_Helper; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Module Base * * @since 0.0.1 */ abstract class Module_Base { /** * Reflection * * @var reflection */ private $reflection; /** * Modules * * @var modules */ private static $modules = null; /** * Reflection * * @var instances */ protected static $instances = array(); /** * Get Name * * @since 0.0.1 */ abstract public function get_name(); /** * Class name to Call * * @since 0.0.1 */ public static function class_name() { return get_called_class(); } /** * Check if this is a widget. * * @since 1.12.0 * @access public * * @return bool true|false. */ public function is_widget() { return true; } /** * Constructor */ public function __construct() { $this->reflection = new \ReflectionClass( $this ); if ( defined( 'ELEMENTOR_VERSION' ) ) { add_action( 'elementor/widgets/register', array( $this, 'init_widgets' ) ); } } /** * Init Widgets * * @since 0.0.1 */ public function init_widgets() { $widget_manager = \Elementor\Plugin::instance()->widgets_manager; foreach ( $this->get_widgets() as $widget ) { $class_name = $this->reflection->getNamespaceName() . '\Widgets\\' . $widget; if ( $this->is_widget() ) { if ( defined( 'ELEMENTOR_VERSION' ) ) { $widget_manager->register( new $class_name() ); } } } } /** * Get Widgets * * @since 0.0.1 * * @return array */ public function get_widgets() { return array(); } }