PluginProbe ʕ •ᴥ•ʔ
LiteSpeed Cache / 7.8.1
LiteSpeed Cache v7.8.1
trunk 1.0.15 1.9.1.1 2.9.9.2 3.6.4 4.6 5.7.0.1 6.5.4 7.0.0.1 7.0.1 7.1 7.2 7.3 7.3.0.1 7.4 7.5 7.5.0.1 7.6 7.6.1 7.6.2 7.7 7.8 7.8.0.1 7.8.1
litespeed-cache / autoload.php
litespeed-cache Last commit date
assets 2 months ago cli 2 months ago data 2 months ago lang 2 months ago lib 2 months ago src 2 months ago thirdparty 2 months ago tpl 2 months ago LICENSE 2 months ago autoload.php 2 months ago changelog.txt 2 months ago composer.json 2 months ago composer.lock 2 months ago guest.vary.php 2 months ago litespeed-cache.php 2 months ago package-lock.json 2 months ago package.json 2 months ago phpcs.ruleset.xml 2 months ago phpcs.xml.dist 2 months ago qc-ping.txt 2 months ago readme.txt 2 months ago security.md 2 months ago typos.toml 2 months ago
autoload.php
158 lines
1 <?php
2 /**
3 * Auto registration for LiteSpeed classes
4 *
5 * @package LiteSpeed
6 * @since 1.1.0
7 */
8
9 defined('WPINC') || exit();
10
11 // Force define for object cache usage before plugin init
12 !defined('LSCWP_DIR') && define('LSCWP_DIR', __DIR__ . '/'); // Full absolute path '/var/www/html/***/wp-content/plugins/litespeed-cache/' or MU
13
14 // Load all classes instead of autoload for direct conf update purpose when upgrade to new version.
15 // NOTE: These files need to load exactly in order
16 $litespeed_php_files = array(
17 // core file priority
18 'src/root.cls.php',
19 'src/base.cls.php',
20
21 // main src files
22 'src/activation.cls.php',
23 'src/admin-display.cls.php',
24 'src/admin-settings.cls.php',
25 'src/admin.cls.php',
26 'src/api.cls.php',
27 'src/avatar.cls.php',
28 'src/cdn.cls.php',
29 'src/cloud-auth-callback.trait.php',
30 'src/cloud-auth-ip.trait.php',
31 'src/cloud-auth.trait.php',
32 'src/cloud-request.trait.php',
33 'src/cloud-node.trait.php',
34 'src/cloud-misc.trait.php',
35 'src/cloud.cls.php',
36 'src/conf.cls.php',
37 'src/control.cls.php',
38 'src/core.cls.php',
39 'src/crawler-map.cls.php',
40 'src/crawler.cls.php',
41 'src/css.cls.php',
42 'src/data.cls.php',
43 'src/db-optm.cls.php',
44 'src/debug2.cls.php',
45 'src/doc.cls.php',
46 'src/error.cls.php',
47 'src/esi.cls.php',
48 'src/file.cls.php',
49 'src/guest.cls.php',
50 'src/gui.cls.php',
51 'src/health.cls.php',
52 'src/htaccess.cls.php',
53 'src/img-optm-send.trait.php',
54 'src/img-optm-pull.trait.php',
55 'src/img-optm-manage.trait.php',
56 'src/img-optm.cls.php',
57 'src/import.cls.php',
58 'src/import.preset.cls.php',
59 'src/lang.cls.php',
60 'src/localization.cls.php',
61 'src/media.cls.php',
62 'src/metabox.cls.php',
63 'src/object-cache.cls.php',
64 'src/optimize.cls.php',
65 'src/optimizer.cls.php',
66 'src/placeholder.cls.php',
67 'src/purge.cls.php',
68 'src/report.cls.php',
69 'src/rest.cls.php',
70 'src/router.cls.php',
71 'src/str.cls.php',
72 'src/tag.cls.php',
73 'src/task.cls.php',
74 'src/tool.cls.php',
75 'src/ucss.cls.php',
76 'src/utility.cls.php',
77 'src/vary.cls.php',
78 'src/vpi.cls.php',
79
80 // Extra CDN cls files
81 'src/cdn/cloudflare.cls.php',
82 'src/cdn/quic.cls.php',
83
84 // CLI classes
85 'cli/crawler.cls.php',
86 'cli/debug.cls.php',
87 'cli/image.cls.php',
88 'cli/online.cls.php',
89 'cli/option.cls.php',
90 'cli/presets.cls.php',
91 'cli/purge.cls.php',
92 'cli/database.cls.php',
93
94 // 3rd party libraries
95 'lib/css_js_min/pathconverter/converter.cls.php',
96 'lib/css_js_min/minify/exception.cls.php',
97 'lib/css_js_min/minify/minify.cls.php',
98 'lib/css_js_min/minify/css.cls.php',
99 'lib/css_js_min/minify/js.cls.php',
100 'lib/urirewriter.cls.php',
101 'lib/guest.cls.php',
102 'lib/html-min.cls.php',
103 // phpcs:disable
104 // 'lib/object-cache.php',
105 // 'lib/php-compatibility.func.php',
106
107 // upgrade purpose delay loaded funcs
108 // 'src/data.upgrade.func.php',
109 // phpcs:enable
110 );
111 foreach ($litespeed_php_files as $class) {
112 $file = LSCWP_DIR . $class;
113 require_once $file;
114 }
115
116 if (!function_exists('litespeed_autoload')) {
117 /**
118 * Autoload function for LiteSpeed classes
119 *
120 * @since 1.1.0
121 * @param string $cls The class name to autoload.
122 */
123 function litespeed_autoload( $cls ) {
124 if (strpos($cls, '.') !== false) {
125 return;
126 }
127
128 if (strpos($cls, 'LiteSpeed') !== 0) {
129 return;
130 }
131
132 $file = explode('\\', $cls);
133 array_shift($file);
134 $file = implode('/', $file);
135 $file = str_replace('_', '-', strtolower($file));
136
137 // phpcs:disable
138 // if (strpos($file, 'lib/') === 0 || strpos($file, 'cli/') === 0 || strpos($file, 'thirdparty/') === 0) {
139 // $file = LSCWP_DIR . $file . '.cls.php';
140 // } else {
141 // $file = LSCWP_DIR . 'src/' . $file . '.cls.php';
142 // }
143 // phpcs:enable
144
145 if (strpos($file, 'thirdparty/') !== 0) {
146 return;
147 }
148
149 $file = LSCWP_DIR . $file . '.cls.php';
150
151 if (file_exists($file)) {
152 require_once $file;
153 }
154 }
155 }
156
157 spl_autoload_register('litespeed_autoload');
158