wp_back/wp-content/plugins/wp-asset-clean-up/wpacu-load.php
2024-05-20 15:37:46 +03:00

127 lines
3.4 KiB
PHP

<?php
// Exit if accessed directly
if (! defined('WPACU_PLUGIN_CLASSES_PATH')) {
exit;
}
// Autoload Classes
function includeWpAssetCleanUpClassesAutoload($class)
{
$namespace = 'WpAssetCleanUp';
// continue only if the namespace is within $class
if (strpos($class, $namespace) === false) {
return;
}
$classFilter = str_replace($namespace.'\\', '', $class);
// Can be directories such as "Helpers"
$classFilter = str_replace('\\', '/', $classFilter);
$pathToClass = WPACU_PLUGIN_CLASSES_PATH.$classFilter.'.php';
if (is_file($pathToClass)) {
include_once $pathToClass;
}
}
spl_autoload_register('includeWpAssetCleanUpClassesAutoload');
\WpAssetCleanUp\ObjectCache::wpacu_cache_init();
if (isset($GLOBALS['wpacu_object_cache'])) {
$wpacu_object_cache = $GLOBALS['wpacu_object_cache']; // just in case
}
// Main Class
\WpAssetCleanUp\Main::instance();
$wpacuSettingsClass = new \WpAssetCleanUp\Settings();
if (is_admin()) {
$wpacuSettingsClass->adminInit();
}
// Plugin's Assets (used only when you're logged in)
$wpacuOwnAssets = new \WpAssetCleanUp\OwnAssets;
$wpacuOwnAssets->init();
// Add / Update / Remove Settings
$wpacuUpdate = new \WpAssetCleanUp\Update;
$wpacuUpdate->init();
// Menu
new \WpAssetCleanUp\Menu;
if ( ! is_admin() ) {
add_action( 'plugins_loaded', function() use ( $wpacuSettingsClass ) {
$wpacuSettings = $wpacuSettingsClass->getAll();
// If "Manage in the front-end" is enabled & the admin is logged-in, do not trigger any Autoptimize caching at all
if ( $wpacuSettings['frontend_show'] && \WpAssetCleanUp\Menu::userCanManageAssets() && ! defined( 'AUTOPTIMIZE_NOBUFFER_OPTIMIZE' ) ) {
define( 'AUTOPTIMIZE_NOBUFFER_OPTIMIZE', true );
}
}, - PHP_INT_MAX );
}
// Admin Bar (Top Area of the website when user is logged in)
new \WpAssetCleanUp\AdminBar();
// Initialize information
new \WpAssetCleanUp\Info();
// Any debug?
new \WpAssetCleanUp\Debug();
// Maintenance
new \WpAssetCleanUp\Maintenance();
// Common functions for both CSS & JS combinations
// Clear CSS/JS caching functionality
$wpacuOptimizeCommon = new \WpAssetCleanUp\OptimiseAssets\OptimizeCommon();
$wpacuOptimizeCommon->init();
if (is_admin()) {
/*
* Trigger only within the Dashboard view (e.g. within /wp-admin/)
*/
$wpacuPlugin = new \WpAssetCleanUp\Plugin;
$wpacuPlugin->init();
new \WpAssetCleanUp\PluginReview();
$wpacuPluginTracking = new \WpAssetCleanUp\PluginTracking();
$wpacuPluginTracking->init();
$wpacuTools = new \WpAssetCleanUp\Tools();
$wpacuTools->init();
new \WpAssetCleanUp\AjaxSearchAutocomplete();
} elseif (\WpAssetCleanUp\Misc::triggerFrontendOptimization()) {
/*
* Trigger the CSS & JS combination only in the front-end view in certain conditions (not within the Dashboard)
*/
// Combine/Minify CSS Files Setup
$wpacuOptimizeCss = new \WpAssetCleanUp\OptimiseAssets\OptimizeCss();
$wpacuOptimizeCss->init();
// Combine/Minify JS Files Setup
$wpacuOptimizeJs = new \WpAssetCleanUp\OptimiseAssets\OptimizeJs();
$wpacuOptimizeJs->init();
/*
* Trigger only in the front-end view (e.g. Homepage URL, /contact/, /about/ etc.)
*/
$wpacuCleanUp = new \WpAssetCleanUp\CleanUp();
$wpacuCleanUp->init();
$wpacuFontsLocal = new \WpAssetCleanUp\OptimiseAssets\FontsLocal();
$wpacuFontsLocal->init();
$wpacuFontsGoogle = new \WpAssetCleanUp\OptimiseAssets\FontsGoogle();
$wpacuFontsGoogle->init();
}
\WpAssetCleanUp\Preloads::instance()->init();