Sindbad~EG File Manager
<?php
/**
* Popup Maker Bootstrap.
*
* @package PopupMaker
* @copyright Copyright (c) 2024, Code Atlantic LLC
*/
namespace PopupMaker;
defined( 'ABSPATH' ) || exit;
/**
* Define plugin's global configuration.
*
* @return array<string,string|bool>
*
* @since 1.20.0
*/
function get_plugin_config() {
return popup_maker_config();
}
/**
* Get config or config property.
*
* @param string|null $key Key of config item to return.
*
* @return mixed
*
* @since 1.20.0
*/
function config( $key = null ) {
$config = get_plugin_config();
if ( ! isset( $key ) ) {
return $config;
}
return isset( $config[ $key ] ) ? $config[ $key ] : false;
}
/**
* Register autoloader.
*/
require_once __DIR__ . '/vendor-prefixed/code-atlantic/wp-autoloader/src/Autoloader.php';
if ( ! \PopupMaker\Vendor\CodeAtlantic\Autoloader\Autoloader::init( config( 'name' ), config( 'path' ) ) ) {
return;
}
/**
* Check plugin prerequisites.
*
* @return bool
*
* @since 1.20.0
*/
function check_prerequisites() {
// 1.a Check Prerequisites.
$prerequisites = new \PopupMaker\Vendor\CodeAtlantic\PrerequisiteChecks\Prerequisites(
[
[
// a. PHP Min Version.
'type' => 'php',
'version' => config( 'min_php_ver' ),
],
// a. PHP Min Version.
[
'type' => 'wp',
'version' => config( 'min_wp_ver' ),
],
],
config()
);
/**
* 1.b If there are missing requirements, render error messaging and return.
*/
if ( $prerequisites->check() === false ) {
$prerequisites->setup_notices();
return false;
}
return true;
}
return;
/*
This is for future use.
add_action(
'plugins_loaded',
function () {
if ( check_prerequisites() ) {
plugin_instance();
}
},
// Core plugin loads at 11, Pro loads at 12 & addons load at 13.
11
);
*/
/**
* Initiates and/or retrieves an encapsulated container for the plugin.
*
* This kicks it all off, loads functions and initiates the plugins main class.
*
* @return \PopupMaker\Plugin\Core
*/
/*
This is for future use.
function plugin_instance() {
static $plugin;
if ( ! $plugin instanceof \PopupMaker\Plugin\Core ) {
require_once __DIR__ . '/inc/functions.php';
require_once __DIR__ . '/inc/deprecated.php';
$plugin = new Plugin\Core( get_plugin_config() );
}
return $plugin;
}
*/
/**
* Easy access to all plugin services from the container.
*
* @see \PopupMaker\plugin_instance
*
* @param string|null $service_or_config Key of service or config to fetch.
* @return \PopupMaker\Plugin\Core|mixed
*/
/*
This is for future use.
function plugin( $service_or_config = null ) {
if ( ! isset( $service_or_config ) ) {
return plugin_instance();
}
return plugin_instance()->get( $service_or_config );
}
*/
// Future use.
// \register_activation_hook( __FILE__, '\PopupMaker\Plugin\Install::activate_plugin' );
// \register_deactivation_hook( __FILE__, '\PopupMaker\Plugin\Install::deactivate_plugin' );
// \register_uninstall_hook( __FILE__, '\PopupMaker\Plugin\Install::uninstall_plugin' );
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists