forked from litespeedtech/lscache_wp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
autoload.php
41 lines (33 loc) · 1015 Bytes
/
autoload.php
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
<?php
/**
* Auto registration for LiteSpeed classes
*
* @since 1.1.0
*/
defined( 'WPINC' ) || exit;
// Force define for object cache usage before plugin init
! defined( 'LSCWP_DIR' ) && define( 'LSCWP_DIR', __DIR__ . '/' ) ;// Full absolute path '/var/www/html/***/wp-content/plugins/litespeed-cache/' or MU
if ( ! function_exists( 'litespeed_autoload' ) ) {
function litespeed_autoload( $cls ) {
if ( strpos( $cls, '.' ) !== false ) {
return;
}
if ( strpos( $cls, 'LiteSpeed' ) !== 0 ) {
return;
}
$file = explode( '\\', $cls );
array_shift( $file );
$file = implode( '/', $file );
$file = str_replace( '_', '-', strtolower( $file ) );
if ( strpos( $file, 'lib/' ) === 0 || strpos( $file, 'cli/' ) === 0 || strpos( $file, 'thirdparty/' ) === 0 ) {
$file = LSCWP_DIR . $file . '.cls.php';
}
else {
$file = LSCWP_DIR . 'src/' . $file . '.cls.php';
}
if ( file_exists( $file ) ) {
require_once $file;
}
}
}
spl_autoload_register( 'litespeed_autoload' );