| Server IP : 213.186.33.4 / Your IP : 216.73.216.222 Web Server : Apache System : Linux webm005.cluster103.gra.hosting.ovh.net 6.18.39-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Tue Jul 21 12:03:15 CEST 2026 x86_64 User : karinebmkh ( 644538) PHP Version : 8.4.22 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/karinebmkh/www/wp-content/themes/Divi/includes/builder/api/ |
Upload File : |
<?php
class DiviExtensions {
/**
* @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;
/**
* @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
*/
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 );
}
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
*
* @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();