HEX
Server: nginx
System: Linux pool195-106-36.bur.atomicsites.net 6.12.57+deb12-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1~bpo12+1 (2025-11-17) x86_64
User: (0)
PHP: 8.3.33
Disabled: pcntl_fork
Upload Files
File: /wordpress/plugins/jetpack/latest/jetpack_vendor/automattic/jetpack-videopress/src/class-divi.php
<?php
/**
 * Divi integration for Videopress.
 *
 * @package automattic/jetpack-videopress
 **/

namespace Automattic\Jetpack\VideoPress;

use Automattic\Jetpack\VideoPress\Divi5\Divi_5;

/**
 * Class Divi
 **/
class Divi {
	/**
	 * The instance.
	 *
	 * @var Divi
	 **/
	private static $instance = null;

	/**
	 * Running or not.
	 *
	 * @var bool
	 **/
	private $running = false;

	/**
	 * VideoPress Divi Extension object.
	 *
	 * @var ?\VideoPress_Divi_Extension
	 **/
	private $vidi_extension;

	/**
	 * Initializes VideoPress/Divi integration.
	 *
	 * Called only once by the Initializer class
	 *
	 * @return self
	 */
	public static function init() {
		return self::get_instance()->run();
	}

	/**
	 * Get the instance.
	 *
	 * @return self
	 */
	public static function get_instance() {
		if ( null === self::$instance ) {
			self::$instance = new self();
		}
		return self::$instance;
	}

	/**
	 * Run the extension.
	 *
	 * @return self
	 */
	public function run() {
		if ( $this->running ) {
			return $this;
		}

		$this->running = true;
		add_action( 'divi_extensions_init', array( $this, 'initialize_extension' ) );
		add_action( 'et_fb_framework_loaded', array( $this, 'on_fb_framework_loaded' ) );

		// Divi 5 integration. These hooks only fire under Divi 5; the legacy
		// extension above continues to serve Divi 4.
		Divi_5::init();

		return $this;
	}

	/**
	 * Fires when the Frontend Builder is loaded.
	 */
	public function on_fb_framework_loaded() {
		Jwt_Token_Bridge::enqueue_jwt_token_bridge();
	}

	/**
	 * Creates the extension's main class instance.
	 */
	public function initialize_extension() {
		require_once plugin_dir_path( __FILE__ ) . 'videopress-divi/class-videopress-divi-extension.php';
		$this->vidi_extension = new \VideoPress_Divi_Extension();
	}
}