1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
<?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;
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(); } 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();
|