oont-contents/plugins/wp-rocket/views/cache/advanced-cache.php
2025-02-08 15:10:23 +01:00

81 lines
2.7 KiB
PHP

<?php
use WP_Rocket\Buffer\Cache;
use WP_Rocket\Buffer\Config;
use WP_Rocket\Buffer\Tests;
defined( 'ABSPATH' ) || exit;
define( 'WP_ROCKET_ADVANCED_CACHE', true );
$rocket_path = '{{WP_ROCKET_PATH}}';
$rocket_config_path = '{{WP_ROCKET_CONFIG_PATH}}';
$rocket_cache_path = '{{WP_ROCKET_CACHE_PATH}}';
if (
version_compare( phpversion(), '{{WP_ROCKET_PHP_VERSION}}', '<' )
|| ! file_exists( $rocket_path )
|| ! file_exists( $rocket_config_path )
|| ! file_exists( $rocket_cache_path )
) {
define( 'WP_ROCKET_ADVANCED_CACHE_PROBLEM', true );
return;
}
'{{MOBILE_CACHE}}';
if ( file_exists( '{{WP_ROCKET_PATH}}inc/classes/dependencies/mobiledetect/mobiledetectlib/Mobile_Detect.php' ) && ! class_exists( 'WP_Rocket_Mobile_Detect' ) ) {
include_once '{{WP_ROCKET_PATH}}inc/classes/dependencies/mobiledetect/mobiledetectlib/Mobile_Detect.php';
}
'{{/MOBILE_CACHE}}';
spl_autoload_register(
function( $class ) use ( $rocket_path ) {
$rocket_classes = [
'WP_Rocket\\Buffer\\Abstract_Buffer' => $rocket_path . 'inc/classes/Buffer/class-abstract-buffer.php',
'WP_Rocket\\Buffer\\Cache' => $rocket_path . 'inc/classes/Buffer/class-cache.php',
'WP_Rocket\\Buffer\\Tests' => $rocket_path . 'inc/classes/Buffer/class-tests.php',
'WP_Rocket\\Buffer\\Config' => $rocket_path . 'inc/classes/Buffer/class-config.php',
'WP_Rocket\\Logger\\HTML_Formatter' => $rocket_path . 'inc/classes/logger/class-html-formatter.php',
'WP_Rocket\\Logger\\Logger' => $rocket_path . 'inc/classes/logger/class-logger.php',
'WP_Rocket\\Logger\\Stream_Handler' => $rocket_path . 'inc/classes/logger/class-stream-handler.php',
'WP_Rocket\\Traits\\Memoize' => $rocket_path . 'inc/classes/traits/trait-memoize.php',
];
if ( isset( $rocket_classes[ $class ] ) ) {
$file = $rocket_classes[ $class ];
} elseif ( strpos( $class, 'Monolog\\' ) === 0 ) {
$file = $rocket_path . 'vendor/monolog/monolog/src/' . str_replace( '\\', '/', $class ) . '.php';
} elseif ( strpos( $class, 'Psr\\Log\\' ) === 0 ) {
$file = $rocket_path . 'vendor/psr/log/' . str_replace( '\\', '/', $class ) . '.php';
} else {
return;
}
if ( file_exists( $file ) ) {
require $file;
}
}
);
if ( ! class_exists( '\WP_Rocket\Buffer\Cache' ) ) {
if ( ! defined( 'DONOTROCKETOPTIMIZE' ) ) {
define( 'DONOTROCKETOPTIMIZE', true ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound
}
return;
}
$rocket_config_class = new Config(
[
'config_dir_path' => $rocket_config_path,
]
);
( new Cache(
new Tests(
$rocket_config_class
),
$rocket_config_class,
[
'cache_dir_path' => $rocket_cache_path,
]
) )->maybe_init_process();