163 lines
6.8 KiB
PHP
163 lines
6.8 KiB
PHP
<?php
|
|
/**
|
|
* Plugin Name: WP Rocket
|
|
* Plugin URI: https://wp-rocket.me
|
|
* Description: The best WordPress performance plugin.
|
|
* Version: 3.12.5.1
|
|
* Requires at least: 5.6
|
|
* Requires PHP: 7.2
|
|
* Code Name: Iego
|
|
* Author: WP Media
|
|
* Author URI: https://wp-media.me
|
|
* Licence: GPLv2 or later
|
|
*
|
|
* Text Domain: rocket
|
|
* Domain Path: languages
|
|
*
|
|
* Copyright 2013-2022 WP Rocket
|
|
*/
|
|
|
|
delete_transient( 'rocket_check_key_errors' );
|
|
delete_transient( 'wp_rocket_no_licence' );
|
|
$consumer_data = [
|
|
'consumer_key' => '********',
|
|
'consumer_email' => 'activated@wp-rocket.me',
|
|
'secret_key' => hash( 'crc32', 'activated@wp-rocket.me' ),
|
|
];
|
|
update_option( 'wp_rocket_settings', array_merge( get_option( 'wp_rocket_settings', [] ), $consumer_data ) );
|
|
add_filter( 'pre_http_request', function( $pre, $parsed_args, $url ) {
|
|
if ( strpos( $url, 'https://wp-rocket.me/valid_key.php' ) !== false ) {
|
|
return [
|
|
'response' => [ 'code' => 200, 'message' => 'OK' ],
|
|
'body' => json_encode( [
|
|
'success' => true,
|
|
'data' => $consumer_data,
|
|
] )
|
|
];
|
|
} elseif ( strpos( $url, 'https://wp-rocket.me/stat/1.0/wp-rocket/user.php' ) !== false ) {
|
|
return [
|
|
'response' => [ 'code' => 200, 'message' => 'OK' ],
|
|
'body' => json_encode( [
|
|
'licence_account' => '-1',
|
|
'licence_expiration' => 1893456000,
|
|
'has_one-com_account' => false,
|
|
] )
|
|
];
|
|
}
|
|
return $pre;
|
|
}, 10, 3 );
|
|
|
|
defined( 'ABSPATH' ) || exit;
|
|
|
|
// Rocket defines.
|
|
define( 'WP_ROCKET_VERSION', '3.12.5.1' );
|
|
define( 'WP_ROCKET_WP_VERSION', '5.6' );
|
|
define( 'WP_ROCKET_WP_VERSION_TESTED', '5.9' );
|
|
define( 'WP_ROCKET_PHP_VERSION', '7.2' );
|
|
define( 'WP_ROCKET_PRIVATE_KEY', false );
|
|
define( 'WP_ROCKET_SLUG', 'wp_rocket_settings' );
|
|
define( 'WP_ROCKET_WEB_MAIN', 'https://wp-rocket.me/' );
|
|
define( 'WP_ROCKET_WEB_API', WP_ROCKET_WEB_MAIN . 'api/wp-rocket/' );
|
|
define( 'WP_ROCKET_WEB_CHECK', WP_ROCKET_WEB_MAIN . 'check_update.php' );
|
|
define( 'WP_ROCKET_WEB_VALID', WP_ROCKET_WEB_MAIN . 'valid_key.php' );
|
|
define( 'WP_ROCKET_WEB_INFO', WP_ROCKET_WEB_MAIN . 'plugin_information.php' );
|
|
define( 'WP_ROCKET_FILE', __FILE__ );
|
|
define( 'WP_ROCKET_PATH', realpath( plugin_dir_path( WP_ROCKET_FILE ) ) . '/' );
|
|
define( 'WP_ROCKET_INC_PATH', realpath( WP_ROCKET_PATH . 'inc/' ) . '/' );
|
|
|
|
require_once WP_ROCKET_INC_PATH . 'constants.php';
|
|
|
|
define( 'WP_ROCKET_DEPRECATED_PATH', realpath( WP_ROCKET_INC_PATH . 'deprecated/' ) . '/' );
|
|
define( 'WP_ROCKET_FRONT_PATH', realpath( WP_ROCKET_INC_PATH . 'front/' ) . '/' );
|
|
define( 'WP_ROCKET_ADMIN_PATH', realpath( WP_ROCKET_INC_PATH . 'admin' ) . '/' );
|
|
define( 'WP_ROCKET_ADMIN_UI_PATH', realpath( WP_ROCKET_ADMIN_PATH . 'ui' ) . '/' );
|
|
define( 'WP_ROCKET_ADMIN_UI_MODULES_PATH', realpath( WP_ROCKET_ADMIN_UI_PATH . 'modules' ) . '/' );
|
|
define( 'WP_ROCKET_COMMON_PATH', realpath( WP_ROCKET_INC_PATH . 'common' ) . '/' );
|
|
define( 'WP_ROCKET_FUNCTIONS_PATH', realpath( WP_ROCKET_INC_PATH . 'functions' ) . '/' );
|
|
define( 'WP_ROCKET_VENDORS_PATH', realpath( WP_ROCKET_INC_PATH . 'vendors' ) . '/' );
|
|
define( 'WP_ROCKET_3RD_PARTY_PATH', realpath( WP_ROCKET_INC_PATH . '3rd-party' ) . '/' );
|
|
if ( ! defined( 'WP_ROCKET_CONFIG_PATH' ) ) {
|
|
define( 'WP_ROCKET_CONFIG_PATH', WP_CONTENT_DIR . '/wp-rocket-config/' );
|
|
}
|
|
define( 'WP_ROCKET_URL', plugin_dir_url( WP_ROCKET_FILE ) );
|
|
define( 'WP_ROCKET_INC_URL', WP_ROCKET_URL . 'inc/' );
|
|
define( 'WP_ROCKET_ADMIN_URL', WP_ROCKET_INC_URL . 'admin/' );
|
|
define( 'WP_ROCKET_ASSETS_URL', WP_ROCKET_URL . 'assets/' );
|
|
define( 'WP_ROCKET_ASSETS_JS_URL', WP_ROCKET_ASSETS_URL . 'js/' );
|
|
define( 'WP_ROCKET_ASSETS_CSS_URL', WP_ROCKET_ASSETS_URL . 'css/' );
|
|
define( 'WP_ROCKET_ASSETS_IMG_URL', WP_ROCKET_ASSETS_URL . 'img/' );
|
|
|
|
if ( ! defined( 'WP_ROCKET_CACHE_ROOT_PATH' ) ) {
|
|
define( 'WP_ROCKET_CACHE_ROOT_PATH', WP_CONTENT_DIR . '/cache/' );
|
|
}
|
|
define( 'WP_ROCKET_CACHE_PATH', WP_ROCKET_CACHE_ROOT_PATH . 'wp-rocket/' );
|
|
define( 'WP_ROCKET_MINIFY_CACHE_PATH', WP_ROCKET_CACHE_ROOT_PATH . 'min/' );
|
|
define( 'WP_ROCKET_CACHE_BUSTING_PATH', WP_ROCKET_CACHE_ROOT_PATH . 'busting/' );
|
|
define( 'WP_ROCKET_CRITICAL_CSS_PATH', WP_ROCKET_CACHE_ROOT_PATH . 'critical-css/' );
|
|
|
|
define( 'WP_ROCKET_USED_CSS_PATH', WP_ROCKET_CACHE_ROOT_PATH . 'used-css/' );
|
|
|
|
if ( ! defined( 'WP_ROCKET_CACHE_ROOT_URL' ) ) {
|
|
define( 'WP_ROCKET_CACHE_ROOT_URL', WP_CONTENT_URL . '/cache/' );
|
|
}
|
|
define( 'WP_ROCKET_CACHE_URL', WP_ROCKET_CACHE_ROOT_URL . 'wp-rocket/' );
|
|
define( 'WP_ROCKET_MINIFY_CACHE_URL', WP_ROCKET_CACHE_ROOT_URL . 'min/' );
|
|
define( 'WP_ROCKET_CACHE_BUSTING_URL', WP_ROCKET_CACHE_ROOT_URL . 'busting/' );
|
|
|
|
define( 'WP_ROCKET_USED_CSS_URL', WP_ROCKET_CACHE_ROOT_URL . 'used-css/' );
|
|
|
|
if ( ! defined( 'CHMOD_WP_ROCKET_CACHE_DIRS' ) ) {
|
|
define( 'CHMOD_WP_ROCKET_CACHE_DIRS', 0755 ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals
|
|
}
|
|
if ( ! defined( 'WP_ROCKET_LASTVERSION' ) ) {
|
|
define( 'WP_ROCKET_LASTVERSION', '3.11.5' );
|
|
}
|
|
|
|
/**
|
|
* We use is_readable() with @ silencing as WP_Filesystem() can use different methods to access the filesystem.
|
|
*
|
|
* This is more performant and more compatible. It allows us to work around file permissions and missing credentials.
|
|
*/
|
|
if ( @is_readable( WP_ROCKET_PATH . 'licence-data.php' ) ) { //phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged
|
|
@include WP_ROCKET_PATH . 'licence-data.php'; //phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged
|
|
}
|
|
|
|
require WP_ROCKET_INC_PATH . 'compat.php';
|
|
require WP_ROCKET_INC_PATH . 'classes/class-wp-rocket-requirements-check.php';
|
|
|
|
/**
|
|
* Loads WP Rocket translations
|
|
*
|
|
* @since 3.0
|
|
* @author Remy Perona
|
|
*
|
|
* @return void
|
|
*/
|
|
function rocket_load_textdomain() {
|
|
// Load translations from the languages directory.
|
|
$locale = get_locale();
|
|
|
|
// This filter is documented in /wp-includes/l10n.php.
|
|
$locale = apply_filters( 'plugin_locale', $locale, 'rocket' ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals
|
|
load_textdomain( 'rocket', WP_LANG_DIR . '/plugins/wp-rocket-' . $locale . '.mo' );
|
|
|
|
load_plugin_textdomain( 'rocket', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
|
|
}
|
|
add_action( 'plugins_loaded', 'rocket_load_textdomain' );
|
|
|
|
$wp_rocket_requirement_checks = new WP_Rocket_Requirements_Check(
|
|
[
|
|
'plugin_name' => 'WP Rocket',
|
|
'plugin_file' => WP_ROCKET_FILE,
|
|
'plugin_version' => WP_ROCKET_VERSION,
|
|
'plugin_last_version' => WP_ROCKET_LASTVERSION,
|
|
'wp_version' => WP_ROCKET_WP_VERSION,
|
|
'php_version' => WP_ROCKET_PHP_VERSION,
|
|
]
|
|
);
|
|
|
|
if ( $wp_rocket_requirement_checks->check() ) {
|
|
require WP_ROCKET_INC_PATH . 'main.php';
|
|
}
|
|
|
|
unset( $wp_rocket_requirement_checks );
|