Sindbad~EG File Manager
<?php
/**
* Popup Maker Legacy Bootstrap.
*
* Global scope, no namespacing.
*
* Deprecated in favor of composer autoloader.
*
* Here for the following backwards compatibility reasons:
* - Some popup maker extensions may still use this.
*
* @package PopupMaker
* @copyright Copyright (c) 2024, Code Atlantic LLC
*/
defined( 'ABSPATH' ) || exit;
/**
* Get deprecated autoloaders.
*
* Staticly caches the autoloaders to reduce `apply_filters` & `wp_parse_args` calls.
*
* @return array
*
* @since 1.20.0
* @deprecated 1.20.0 - Use composer autoloader instead.
*/
function pum_get_deprecated_autoloaders() {
static $deprecated_autoloaders;
if ( ! isset( $deprecated_autoloaders ) || ! did_action( 'plugins_loaded' ) ) {
$deprecated_autoloaders = apply_filters(
'pum_autoloaders',
[
// Popup Maker Core prior to 1.20.0. To Be removed when all classes are namespaced.
[
'prefix' => 'PUM_',
'dir' => __DIR__ . '/classes/',
],
]
);
// Precache this parsing to reduce the number of calls to wp_parse_args.
foreach ( $deprecated_autoloaders as $key => $autoloader ) {
$deprecated_autoloaders[ $key ] = wp_parse_args(
$autoloader,
[
'prefix' => 'PUM_',
'dir' => __DIR__ . '/classes/',
'search' => '_',
'replace' => '/',
]
);
}
}
return $deprecated_autoloaders;
}
/**
* Class Autoloader
*
* @param string $class_name The class name to load.
*
* @deprecated 1.20.0 - Use composer autoloader instead.
*/
function pum_autoloader( $class_name ) {
$pum_autoloaders = pum_get_deprecated_autoloaders();
if ( count( $pum_autoloaders ) === 0 ) {
// Unregister this autoloader if there are no deprecated autoloaders .
spl_autoload_unregister( 'pum_autoloader' );
}
// Deprecated newsletter autoloader, remove this in future.
if ( strncmp( 'PUM_Newsletter_', $class_name, strlen( 'PUM_Newsletter_' ) ) === 0 && class_exists( 'PUM_MCI' ) && ! empty( PUM_MCI::$VER ) && version_compare( PUM_MCI::$VER, '1.3.0', '<' ) ) {
return;
}
foreach ( $pum_autoloaders as $autoloader ) {
// Project-specific namespace prefix.
$prefix = $autoloader['prefix'];
// Does the class use the namespace prefix?
$len = strlen( $prefix );
if ( strncmp( $prefix, $class_name, $len ) !== 0 ) {
// No, move to the next registered autoloader.
continue;
}
// Get the relative class name.
$relative_class = substr( $class_name, $len );
// Build the file path.
$file = $autoloader['dir'] . str_replace( $autoloader['search'], $autoloader['replace'], $relative_class ) . '.php';
// If the file exists, require it.
if ( file_exists( $file ) ) {
require_once $file;
return;
}
}
}
spl_autoload_register( 'pum_autoloader' ); // Register autoloader
/**
* Triggers the initialization of the Popup Maker plugin and extensions.
*
* @since 1.0.0
* @deprecated 1.7.0
*/
function popmake_initialize() {
// Disable Unlimited Themes extension if active.
remove_action( 'popmake_initialize', 'popmake_ut_initialize' );
// Initialize old PUM extensions.
do_action( 'pum_initialize' );
do_action( 'popmake_initialize' );
}
/**
* The main function responsible for returning the one true Popup_Maker
* Instance to functions everywhere.
*
* Use this function like you would a global variable, except without needing
* to declare the global.
*
* Example: <?php $popmake = PopMake(); ?>
*
* @return object The one true Popup_Maker Instance
*
* @since 1.0.0
* @deprecated 1.7.0
*/
function PopMake() {
return Popup_Maker::instance();
}
/**
* The main function responsible for returning the one true Popup_Maker
* Instance to functions everywhere.
*
* Use this function like you would a global variable, except without needing
* to declare the global.
*
* @return Popup_Maker
*
* @since 1.8.0
*/
function pum() {
return Popup_Maker::instance();
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists