Server IP : 85.214.239.14 / Your IP : 3.142.174.8 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/wordpress/wp-content/themes/Divi/includes/builder/api/ |
Upload File : |
<?php /** * Extension API: DiviExtensions class. * * @package Builder * @subpackage API */ /** * Composite class to manage all Divi Extensions. */ class DiviExtensions { /** * Utility class instance. * * @since 3.1 * * @var ET_Core_Data_Utils */ protected static $_; /** * The first extension to enable debug mode for itself. Only one Divi Extension can be in * debug mode at a time. * * @var DiviExtension */ protected static $_debugging_extension; /** * List of all instances of the Divi Extension. * * @since 3.1 * * @var DiviExtension[] { * All current Divi Extension instances * * @type DiviExtension $name Instance * } */ private static $_extensions; /** * Register a Divi Extension instance. * * @since 3.1 * * @param DiviExtension $instance Instance. */ public static function add( $instance ) { if ( ! isset( self::$_extensions[ $instance->name ] ) ) { self::$_extensions[ $instance->name ] = $instance; } else { et_error( "A Divi Extension named {$instance->name} already exists!" ); } } /** * Get one or all Divi Extension instances. * * @since 3.1 * * @param string $name The extension name. Default: 'all'. * * @return DiviExtension|DiviExtension[]|null */ public static function get( $name = 'all' ) { if ( 'all' === $name ) { return self::$_extensions; } return self::$_->array_get( self::$_extensions, $name, null ); } /** * Initialize the base `DiviExtension` class. */ public static function initialize() { self::$_ = ET_Core_Data_Utils::instance(); require_once ET_BUILDER_DIR . 'api/DiviExtension.php'; /** * Fires when the {@see DiviExtension} base class is available. * * @since 3.1 */ do_action( 'divi_extensions_init' ); } /** * Whether or not a Divi Extension is in debug mode. * * @since 3.1 * * @return bool */ public static function is_debugging_extension() { return ! is_null( self::$_debugging_extension ); } /** * Register's an extension instance for debug mode if one hasn't already been registered. * * @since 3.1 * * @param DiviExtension $instance Instance. * * @return bool Whether or not request was successful */ public static function register_debug_mode( $instance ) { if ( ! self::$_debugging_extension ) { self::$_debugging_extension = $instance; return true; } return false; } } DiviExtensions::initialize();