File "3.6.php"

Full path: /home/kosmetik/public_html/wp-content/plugins/wp-rocket/inc/deprecated/3.6.php
File size: 24.89 B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php

defined('ABSPATH') || exit;
require_once __DIR__ . '/DeprecatedClassTrait.php';
require_once __DIR__ . '/Engine/Optimization/QueryString/Remove.php';
require_once __DIR__ . '/Engine/Optimization/QueryString/RemoveSubscriber.php';
class_alias('\\WP_Rocket\\Engine\\Admin\\Beacon\\ServiceProvider', '\\WP_Rocket\\ServiceProvider\\Beacon');
class_alias('\\WP_Rocket\\Engine\\HealthCheck\\CacheDirSizeCheck', '\\WP_Rocket\\Subscriber\\Tools\\Cache_Dir_Size_Check_Subscriber');
class_alias('\\WP_Rocket\\Engine\\HealthCheck\\HealthCheck', '\\WP_Rocket\\Engine\\Admin\\HealthCheck');
class_alias('\\WP_Rocket\\Engine\\Optimization\\ServiceProvider', '\\WP_Rocket\\ServiceProvider\\Optimization_Subscribers');
class_alias('\\WP_Rocket\\Engine\\Optimization\\IEConditionalSubscriber', '\\WP_Rocket\\Subscriber\\Optimization\\IE_Conditionals_Subscriber');
class_alias('\\WP_Rocket\\ThirdParty\\Plugins\\Smush', '\\WP_Rocket\\Subscriber\\Third_Party\\Plugins\\Smush_Subscriber');
class_alias('\\WP_Rocket\\Engine\\Capabilities\\Subscriber', '\\WP_Rocket\\Subscriber\\Plugin\\Capabilities_Subscriber');
function get_rocket_advanced_cache_file()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6', '\\WP_Rocket\\Engine\\Cache\\AdvancedCache::get_advanced_cache_content()');
    $buffer = "<?php\n";
    $buffer .= "defined( 'ABSPATH' ) || exit;\n\n";
    $buffer .= "define( 'WP_ROCKET_ADVANCED_CACHE', true );\n\n";
    $buffer .= "if ( ! defined( 'WP_ROCKET_CONFIG_PATH' ) ) {\n";
    $buffer .= "\tdefine( 'WP_ROCKET_CONFIG_PATH',       WP_CONTENT_DIR . '/wp-rocket-config/' );\n";
    $buffer .= "}\n\n";
    if (is_rocket_generate_caching_mobile_files()) {
        $vendor_path = rocket_get_constant('WP_ROCKET_VENDORS_PATH');
        $buffer .= "if ( file_exists( '" . $vendor_path . "classes/class-rocket-mobile-detect.php' ) && ! class_exists( 'Rocket_Mobile_Detect' ) ) {\n";
        $buffer .= "\tinclude_once '" . $vendor_path . "classes/class-rocket-mobile-detect.php';\n";
        $buffer .= "}\n\n";
    }
    $buffer .= "if ( version_compare( phpversion(), '" . rocket_get_constant('WP_ROCKET_PHP_VERSION') . "' ) >= 0 ) {\n\n";
    $autoloader = rocket_direct_filesystem()->get_contents(rocket_get_constant('WP_ROCKET_INC_PATH') . 'process-autoloader.php');
    if ($autoloader) {
        $autoloader = preg_replace('@^<\\?php\\s*@', '', $autoloader);
        $autoloader = str_replace(["\n", "\n\t\n"], ["\n\t", "\n\n"], trim($autoloader));
        $autoloader = str_replace('WP_ROCKET_PATH', "'" . rocket_get_constant('WP_ROCKET_PATH') . "'", $autoloader);
        $buffer .= "\t{$autoloader}\n\n";
    }
    $buffer .= "\t" . 'if ( ! class_exists( \'\\WP_Rocket\\Buffer\\Cache\' ) ) {
		if ( ! defined( \'DONOTROCKETOPTIMIZE\' ) ) {
			define( \'DONOTROCKETOPTIMIZE\', true ); // WPCS: prefix ok.
		}
		return;
	}

	$rocket_config_class = new \\WP_Rocket\\Buffer\\Config(
		[
			\'config_dir_path\' => \'' . rocket_get_constant('WP_ROCKET_CONFIG_PATH') . '\',
		]
	);

	( new \\WP_Rocket\\Buffer\\Cache(
		new \\WP_Rocket\\Buffer\\Tests(
			$rocket_config_class
		),
		$rocket_config_class,
		[
			\'cache_dir_path\' => \'' . rocket_get_constant('WP_ROCKET_CACHE_PATH') . '\',
		]
	) )->maybe_init_process();' . "\n";
    $buffer .= "} else {\n";
    $buffer .= "\tdefine( 'WP_ROCKET_ADVANCED_CACHE_PROBLEM', true );\n";
    $buffer .= "}\n";
    return (string) apply_filters('rocket_advanced_cache_file', $buffer);
}
function rocket_warning_advanced_cache_permissions()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6', '\\WP_Rocket\\Engine\\Cache\\AdvancedCache::notice_permissions()');
    $advanced_cache_file = WP_CONTENT_DIR . '/advanced-cache.php';
    if (current_user_can('rocket_manage_options') && !rocket_direct_filesystem()->is_writable($advanced_cache_file) && (!defined('WP_ROCKET_ADVANCED_CACHE') || !WP_ROCKET_ADVANCED_CACHE) && rocket_valid_key()) {
        $boxes = get_user_meta(get_current_user_id(), 'rocket_boxes', true);
        if (in_array(__FUNCTION__, (array) $boxes, true)) {
            return;
        }
        $message = rocket_notice_writing_permissions(basename(WP_CONTENT_DIR) . '/advanced-cache.php');
        rocket_notice_html(['status' => 'error', 'dismissible' => '', 'message' => $message, 'dismiss_button' => __FUNCTION__, 'readonly_content' => get_rocket_advanced_cache_file()]);
    }
}
function rocket_warning_advanced_cache_not_ours()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6', '\\WP_Rocket\\Engine\\Cache\\AdvancedCache::notice_content_not_ours()');
    if (!('plugins.php' === $GLOBALS['pagenow'] && isset($_GET['activate'])) && current_user_can('rocket_manage_options') && !defined('WP_ROCKET_ADVANCED_CACHE') && (defined('WP_CACHE') && WP_CACHE) && get_rocket_option('version') === WP_ROCKET_VERSION && rocket_valid_key()) {
        $message = rocket_notice_writing_permissions(basename(WP_CONTENT_DIR) . '/advanced-cache.php');
        rocket_notice_html(['status' => 'error', 'dismissible' => '', 'message' => $message]);
    }
}
function rocket_exclude_avada_dynamic_css($excluded_files)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6');
    $upload_dir = wp_upload_dir();
    $excluded_files[] = rocket_clean_exclude_file($upload_dir['baseurl'] . '/fusion-styles/(.*)');
    return $excluded_files;
}
function rocket_exclude_busting_uncode($exclude_busting)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6');
    $exclude_busting[] = rocket_clean_exclude_file(get_template_directory_uri() . '/library/css/style.css');
    $exclude_busting[] = rocket_clean_exclude_file(get_template_directory_uri() . '/library/css/uncode-icons.css');
    $exclude_busting[] = rocket_clean_exclude_file(get_template_directory_uri() . '/library/css/style-custom.css');
    $exclude_busting[] = rocket_clean_exclude_file(get_template_directory_uri() . '/library/js/init.js');
    $exclude_busting[] = rocket_clean_exclude_file(get_template_directory_uri() . '/library/js/min/init.min.js');
    $exclude_busting[] = rocket_clean_exclude_file(get_template_directory_uri() . '/library/js/app.js');
    $exclude_busting[] = rocket_clean_exclude_file(get_template_directory_uri() . '/library/js/app.min.js');
    $exclude_busting[] = rocket_clean_exclude_file(get_template_directory_uri() . '/library/js/plugins.js');
    $exclude_busting[] = rocket_clean_exclude_file(get_template_directory_uri() . '/library/js/plugins.min.js');
    return $exclude_busting;
}
function rocket_beaver_builder_clean_domain()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6', 'WP_Rocket\\ThirdParty\\Plugins\\PageBuilder\\BeaverBuilder::purge_cache');
    rocket_clean_minify();
    rocket_clean_domain();
}
function rocket_get_cache_busting_paths($filename, $extension)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6');
    $blog_id = get_current_blog_id();
    $cache_busting_path = WP_ROCKET_CACHE_BUSTING_PATH . $blog_id;
    $filename = rocket_realpath(rtrim(str_replace([' ', '%20'], '-', $filename)));
    $cache_busting_filepath = $cache_busting_path . $filename;
    $cache_busting_url = WP_ROCKET_CACHE_BUSTING_URL . $blog_id . $filename;
    switch ($extension) {
        case 'css':
            $cache_busting_url = apply_filters('rocket_css_url', $cache_busting_url);
            break;
        case 'js':
            $cache_busting_url = apply_filters('rocket_js_url', $cache_busting_url);
            break;
    }
    return ['bustingpath' => $cache_busting_path, 'filepath' => $cache_busting_filepath, 'url' => $cache_busting_url];
}
function rocket_cache_sccss()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6', '\\WP_Rocket\\ThirdParty\\Plugins\\SimpleCustomCss::cache_sccss()');
    $sccss = rocket_get_cache_busting_paths('sccss.css', 'css');
    if (!file_exists($sccss['filepath'])) {
        rocket_sccss_create_cache_file($sccss['bustingpath'], $sccss['filepath']);
    }
    if (file_exists($sccss['filepath'])) {
        wp_enqueue_style('scss', $sccss['url'], '', filemtime($sccss['filepath']));
        remove_action('wp_enqueue_scripts', 'sccss_register_style', 99);
    }
}
function rocket_delete_sccss_cache_file()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6', '\\WP_Rocket\\ThirdParty\\Plugins\\SimpleCustomCss::update_cache_file()');
    $sccss = rocket_get_cache_busting_paths('sccss.css', 'css');
    array_map('unlink', glob($sccss['bustingpath'] . 'sccss*.css'));
    rocket_clean_domain();
    rocket_sccss_create_cache_file($sccss['bustingpath'], $sccss['filepath']);
}
function rocket_sccss_cache_busting_filename($filename)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6');
    if (false !== strpos($filename, 'sccss')) {
        return preg_replace('/(?:.*)(sccss(?:.*))/i', '$1', $filename);
    }
    return $filename;
}
function rocket_sccss_create_cache_file($cache_busting_path, $cache_sccss_filepath)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6', '\\WP_Rocket\\ThirdParty\\Plugins\\SimpleCustomCss::create_cache_file()');
    $options = get_option('sccss_settings');
    $raw_content = isset($options['sccss-content']) ? $options['sccss-content'] : '';
    $content = wp_kses($raw_content, ['\'', '\\"']);
    $content = str_replace('&gt;', '>', $content);
    if (!rocket_direct_filesystem()->is_dir($cache_busting_path)) {
        rocket_mkdir_p($cache_busting_path);
    }
    rocket_put_content($cache_sccss_filepath, $content);
}
function rocket_warning_wp_config_permissions()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.1', '\\WP_Rocket\\Engine\\Cache\\WPCache::notice_wp_config_permissions()');
    $config_file = rocket_find_wpconfig_path();
    if (!('plugins.php' === $GLOBALS['pagenow'] && isset($_GET['activate'])) && current_user_can('rocket_manage_options') && (!rocket_direct_filesystem()->is_writable($config_file) && (!defined('WP_CACHE') || !WP_CACHE)) && rocket_valid_key()) {
        $boxes = get_user_meta(get_current_user_id(), 'rocket_boxes', true);
        if (in_array(__FUNCTION__, (array) $boxes, true)) {
            return;
        }
        $message = rocket_notice_writing_permissions('wp-config.php');
        rocket_notice_html(['status' => 'error', 'dismissible' => '', 'message' => $message, 'dismiss_button' => __FUNCTION__, 'readonly_content' => '/** Enable Cache by ' . WP_ROCKET_PLUGIN_NAME . " */\r\ndefine( 'WP_CACHE', true );\r\n"]);
    }
}
function rocket_find_wpconfig_path()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.1', '\\WP_Rocket\\Engine\\Cache\\WPCache::find_wpconfig_path()');
    $config_file_name = apply_filters('rocket_wp_config_name', 'wp-config');
    $abspath = rocket_get_constant('ABSPATH');
    $config_file = "{$abspath}{$config_file_name}.php";
    $filesystem = rocket_direct_filesystem();
    if ($filesystem->exists($config_file) && $filesystem->is_writable($config_file)) {
        return $config_file;
    }
    $abspath_parent = dirname($abspath) . DIRECTORY_SEPARATOR;
    $config_file_alt = "{$abspath_parent}{$config_file_name}.php";
    if ($filesystem->exists($config_file_alt) && $filesystem->is_writable($config_file_alt) && !$filesystem->exists("{$abspath_parent}wp-settings.php")) {
        return $config_file_alt;
    }
    return false;
}
function rocket_maybe_set_wp_cache_define()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.1', '\\WP_Rocket\\Engine\\Cache\\WPCache::maybe_set_wp_cache()');
    if (defined('WP_CACHE') && !WP_CACHE) {
        set_rocket_wp_cache_define(true);
    }
}
function get_rocket_post_dates_urls($post_id)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.1', '\\WP_Rocket\\Engine\\Cache\\Purge::purge_dates_archives()');
    $time = get_the_time('Y-m-d', $post_id);
    if (empty($time)) {
        return [];
    }
    $date = explode('-', $time);
    $year = trailingslashit(get_year_link($date[0]));
    $month = trailingslashit(get_month_link($date[0], $date[1]));
    $urls = ["{$year}index.html", "{$year}index.html_gzip", $year . $GLOBALS['wp_rewrite']->pagination_base, "{$month}index.html", "{$month}index.html_gzip", $month . $GLOBALS['wp_rewrite']->pagination_base, get_day_link($date[0], $date[1], $date[2])];
    return (array) apply_filters('rocket_post_dates_urls', $urls);
}
function set_rocket_wp_cache_define($turn_it_on)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.1', '\\WP_Rocket\\Engine\\Cache\\WPCache::set_wp_cache_constant()');
    if (!rocket_valid_key() || $turn_it_on && defined('WP_CACHE') && WP_CACHE) {
        return;
    }
    if (defined('IS_PRESSABLE') && IS_PRESSABLE) {
        return;
    }
    $config_file_path = rocket_find_wpconfig_path();
    if (!$config_file_path) {
        return;
    }
    $filesystem = rocket_direct_filesystem();
    $config_file_contents = $filesystem->get_contents($config_file_path);
    $turn_it_on = $turn_it_on ? 'true' : 'false';
    $turn_it_on = apply_filters('set_rocket_wp_cache_define', $turn_it_on);
    $constant = "define('WP_CACHE', {$turn_it_on}); // Added by WP Rocket";
    $wp_cache_found = preg_match('/^define\\(\\s*\'WP_CACHE\',(.*)\\)/m', $config_file_contents, $matches);
    if (!$wp_cache_found) {
        $config_file_contents = preg_replace('/(<\\?php)/i', "<?php\r\n{$constant}\r\n", $config_file_contents);
    } elseif (!empty($matches[1]) && $matches[1] !== $turn_it_on) {
        $config_file_contents = preg_replace('/^define\\(\\s*\'WP_CACHE\',(.*)\\).+/m', $constant, $config_file_contents);
    }
    rocket_put_content($config_file_path, $config_file_contents);
}
function get_rocket_post_terms_urls($post_id)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.1', '\\WP_Rocket\\Engine\\Cache\\Purge::get_post_terms_urls()');
    $urls = [];
    $taxonomies = get_object_taxonomies(get_post_type($post_id), 'objects');
    foreach ($taxonomies as $taxonomy) {
        if (!$taxonomy->public || 'product_shipping_class' === $taxonomy->name) {
            continue;
        }
        $terms = get_the_terms($post_id, $taxonomy->name);
        if (empty($terms)) {
            continue;
        }
        foreach ($terms as $term) {
            $term_url = get_term_link($term->slug, $taxonomy->name);
            if (!is_wp_error($term_url)) {
                $urls[] = $term_url;
            }
            if (!is_taxonomy_hierarchical($taxonomy->name)) {
                continue;
            }
            $ancestors = (array) get_ancestors($term->term_id, $taxonomy->name);
            foreach ($ancestors as $ancestor) {
                $ancestor_object = get_term($ancestor, $taxonomy->name);
                if (!$ancestor_object instanceof WP_Term) {
                    continue;
                }
                $ancestor_term_url = get_term_link($ancestor_object->slug, $taxonomy->name);
                if (!is_wp_error($ancestor_term_url)) {
                    $urls[] = $ancestor_term_url;
                }
            }
        }
    }
    return apply_filters('rocket_post_terms_urls', $urls);
}
function rocket_get_compressed_assets_rules()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.0.3');
    $rules = <<<HTACCESS
<IfModule mod_headers.c>
    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteCond %{REQUEST_FILENAME}\\.gz -f
    RewriteRule \\.(css|js)\$ %{REQUEST_URI}.gz [L]

    # Prevent mod_deflate double gzip
\tRewriteRule \\.gz\$ - [E=no-gzip:1]

\t<FilesMatch "\\.gz\$">

        # Serve correct content types
        <IfModule mod_mime.c>
            # (1)
            RemoveType gz

            # Serve correct content types
            AddType text/css              css.gz
            AddType text/javascript       js.gz

            # Serve correct content charset
            AddCharset utf-8 .css.gz \\
                             .js.gz
\t\t</IfModule>

        # Force proxies to cache gzipped and non-gzipped files separately
        Header append Vary Accept-Encoding
\t</FilesMatch>

    # Serve correct encoding type
    AddEncoding gzip .gz
</IfModule>

HTACCESS;
    return apply_filters('rocket_htaccess_compressed_assets', $rules);
}
function get_rocket_exclude_async_css()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.2', '\\WP_Rocket\\Engine\\CriticalPath\\CriticalCSS::get_exclude_async_css()');
    $exclude_async_css = (array) apply_filters('rocket_exclude_async_css', []);
    $exclude_async_css = array_filter($exclude_async_css);
    $exclude_async_css = array_flip(array_flip($exclude_async_css));
    return $exclude_async_css;
}
function rocket_wpengine_varnish_field($settings)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.1', '\\WP_Rocket\\ThirdParty\\Hostings\\WPEngine::varnish_addon_title');
    $settings['varnish_auto_purge']['title'] = sprintf(__('Your site is hosted on %s, we have enabled Varnish auto-purge for compatibility.', 'rocket'), 'WP Engine');
    return $settings;
}
function rocket_stop_generate_caching_files_on_wpengine()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.1');
    add_filter('do_rocket_generate_caching_files', '__return_false');
}
function rocket_run_rocket_bot_after_wpengine()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.1', '\\WP_Rocket\\ThirdParty\\Hostings\\WPEngine::run_rocket_bot_after_wpengine');
    if (wpe_param('purge-all') && defined('PWP_NAME') && check_admin_referer(PWP_NAME . '-config')) {
        run_rocket_bot();
        run_rocket_sitemap_preload();
    }
}
function rocket_clean_wpengine()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.1', '\\WP_Rocket\\ThirdParty\\Hostings\\WPEngine::clean_wpengine');
    if (method_exists('WpeCommon', 'purge_memcached')) {
        WpeCommon::purge_memcached();
    }
    if (method_exists('WpeCommon', 'purge_varnish_cache')) {
        WpeCommon::purge_varnish_cache();
    }
}
function rocket_get_wp_engine_cdn_domain()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.1');
    global $wpe_netdna_domains, $wpe_netdna_domains_secure;
    $cdn_domain = '';
    $is_ssl = '';
    if (isset($_SERVER['HTTPS'])) {
        $is_ssl = sanitize_text_field(wp_unslash($_SERVER['HTTPS']));
    }
    if (preg_match('/^[oO][fF]{2}$/', $is_ssl)) {
        $is_ssl = false;
    }
    $native_schema = $is_ssl ? 'https' : 'http';
    $domains = $wpe_netdna_domains;
    if ($is_ssl) {
        $domains = $wpe_netdna_domains_secure;
    }
    $wpengine = WpeCommon::instance();
    $cdn_domain = $wpengine->get_cdn_domain($domains, home_url(), $is_ssl);
    if (!empty($cdn_domain)) {
        $cdn_domain = $native_schema . '://' . $cdn_domain;
    }
    return $cdn_domain;
}
function rocket_wpengine_add_footprint($buffer)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.1', '\\WP_Rocket\\ThirdParty\\Hostings\\WPEngine::add_footprint');
    if (!preg_match('/<\\/html>/i', $buffer)) {
        return $buffer;
    }
    $footprint = defined('WP_ROCKET_WHITE_LABEL_FOOTPRINT') ? "\n" . '<!-- Optimized for great performance' : "\n" . '<!-- This website is like a Rocket, isn\'t it? Performance optimized by ' . WP_ROCKET_PLUGIN_NAME . '. Learn more: https://wp-rocket.me';
    $footprint .= ' -->';
    return $buffer . $footprint;
}
function rocket_deactivation()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.3', '\\WP_Rocket\\Engine\\Deactivation\\Deactivation::deactivate_plugin');
    global $is_apache;
    $filesystem = rocket_direct_filesystem();
    $wp_cache = new WPCache($filesystem);
    if (!isset($_GET['rocket_nonce']) || !wp_verify_nonce(sanitize_key($_GET['rocket_nonce']), 'force_deactivation')) {
        $causes = [];
        if ($is_apache && !$filesystem->is_writable(get_home_path() . '.htaccess')) {
            $causes[] = 'htaccess';
        }
        if (!$wp_cache->find_wpconfig_path() && (bool) apply_filters('rocket_set_wp_cache_constant', true)) {
            $causes[] = 'wpconfig';
        }
        if (count($causes)) {
            set_transient(get_current_user_id() . '_donotdeactivaterocket', $causes);
            wp_safe_redirect(wp_get_referer());
            die;
        }
    }
    rocket_delete_config_file();
    if (!count(glob(WP_ROCKET_CONFIG_PATH . '*.php'))) {
        flush_rocket_htaccess(true);
        $wp_cache->set_wp_cache_constant(false);
        rocket_put_content(WP_CONTENT_DIR . '/advanced-cache.php', '');
    }
    wp_remote_get(WP_ROCKET_WEB_API . 'pause-licence.php', ['blocking' => false]);
    delete_transient('rocket_check_licence_30');
    delete_transient('rocket_check_licence_1');
    delete_site_transient('update_wprocket_response');
    wp_clear_scheduled_hook('rocket_facebook_tracking_cache_update');
    wp_clear_scheduled_hook('rocket_google_tracking_cache_update');
    wp_clear_scheduled_hook('rocket_cache_dir_size_check');
    do_action('rocket_deactivation');
    (new Capabilities_Subscriber())->remove_rocket_capabilities();
}
function rocket_activation()
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.3', '\\WP_Rocket\\Engine\\Activation\\Activation::deactivate_plugin');
    (new Capabilities_Subscriber())->add_rocket_capabilities();
    $filesystem = rocket_direct_filesystem();
    $wp_cache = new WPCache($filesystem);
    define('WP_ROCKET_PLUGIN_NAME', 'WP Rocket');
    define('WP_ROCKET_PLUGIN_SLUG', sanitize_key(WP_ROCKET_PLUGIN_NAME));
    if (defined('SUNRISE') && SUNRISE === 'on' && function_exists('domain_mapping_siteurl')) {
        require WP_ROCKET_INC_PATH . 'domain-mapping.php';
    }
    require WP_ROCKET_FUNCTIONS_PATH . 'options.php';
    require WP_ROCKET_FUNCTIONS_PATH . 'formatting.php';
    require WP_ROCKET_FUNCTIONS_PATH . 'i18n.php';
    require WP_ROCKET_FUNCTIONS_PATH . 'htaccess.php';
    if (class_exists('WPaaS\\Plugin')) {
        require WP_ROCKET_3RD_PARTY_PATH . 'hosting/godaddy.php';
    }
    if (defined('O2SWITCH_VARNISH_PURGE_KEY')) {
        require WP_ROCKET_3RD_PARTY_PATH . 'hosting/o2switch.php';
    }
    if (rocket_valid_key()) {
        flush_rocket_htaccess();
        $wp_cache->set_wp_cache_constant(true);
    }
    rocket_init_cache_dir();
    rocket_init_config_dir();
    rocket_generate_advanced_cache_file(new AdvancedCache(WP_ROCKET_PATH . 'views/cache/', $filesystem));
    do_action('rocket_activation');
    wp_remote_get(WP_ROCKET_WEB_API . 'activate-licence.php', ['blocking' => false]);
    wp_remote_get(home_url(), ['timeout' => 0.01, 'blocking' => false, 'user-agent' => 'WP Rocket/Homepage Preload', 'sslverify' => apply_filters('https_local_ssl_verify', false)]);
}
function rocket_exclude_js_divi($excluded_js)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.3', '\\WP_Rocket\\ThirdParty\\Themes\\Divi::exclude_js');
    if (defined('ET_BUILDER_URI')) {
        $excluded_js[] = str_replace(home_url(), '', ET_BUILDER_URI) . '/scripts/salvattore.min.js';
    }
    return $excluded_js;
}
function rocket_o2switch_varnish_field($settings)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.3', '\\WP_Rocket\\ThirdParty\\Hostings\\O2Switch::varnish_addon_title');
    $settings['varnish_auto_purge']['title'] = sprintf(__('Your site is hosted on %s, we have enabled Varnish auto-purge for compatibility.', 'rocket'), 'o2switch');
    return $settings;
}
function rocket_o2switch_varnish_clean_domain($root, $lang, $url)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.3', '\\WP_Rocket\\ThirdParty\\Hostings\\O2Switch::varnish_clean_domain');
    rocket_o2switch_varnish_http_purge(trailingslashit($url) . '?vregex');
}
function rocket_o2switch_varnish_clean_file($url)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.3', '\\WP_Rocket\\ThirdParty\\Hostings\\O2Switch::varnish_clean_file');
    rocket_o2switch_varnish_http_purge(trailingslashit($url) . '?vregex');
}
function rocket_o2switch_varnish_clean_home($root, $lang)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.3', '\\WP_Rocket\\ThirdParty\\Hostings\\O2Switch::varnish_clean_home');
    $home_url = trailingslashit(get_rocket_i18n_home_url($lang));
    $home_pagination_url = $home_url . trailingslashit($GLOBALS['wp_rewrite']->pagination_base) . '?vregex';
    rocket_o2switch_varnish_http_purge($home_url);
    rocket_o2switch_varnish_http_purge($home_pagination_url);
}
function rocket_o2switch_varnish_http_purge($url)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.3', '\\WP_Rocket\\ThirdParty\\Hostings\\O2Switch::varnish_http_purge');
    $parse_url = get_rocket_parse_url($url);
    $headers = apply_filters('rocket_varnish_purge_headers', ['host' => apply_filters('rocket_varnish_purge_request_host', $parse_url['host']), 'X-VC-Purge-Key' => O2SWITCH_VARNISH_PURGE_KEY]);
    if ('vregex' === $parse_url['query']) {
        $headers['X-Purge-Regex'] = '.*';
    }
    $varnish_ip = apply_filters('rocket_varnish_ip', []);
    if (defined('WP_ROCKET_VARNISH_IP') && !$varnish_ip) {
        $varnish_ip = WP_ROCKET_VARNISH_IP;
    }
    $scheme = apply_filters('rocket_varnish_http_purge_scheme', $parse_url['scheme']);
    $parse_url['host'] = $varnish_ip ? $varnish_ip : $parse_url['host'];
    $purgeme = $scheme . '://' . $parse_url['host'] . $parse_url['path'];
    wp_remote_request($purgeme, ['method' => 'PURGE', 'blocking' => false, 'redirection' => 0, 'headers' => $headers]);
}
function rocket_o2switch_remove_html_expire($rules)
{
    _deprecated_function(__FUNCTION__ . '()', '3.6.3', '\\WP_Rocket\\ThirdParty\\Hostings\\O2Switch::remove_html_expire');
    $rules = preg_replace('@\\s*#\\s*Your document html@', '', $rules);
    $rules = preg_replace('@\\s*ExpiresByType text/html\\s*"access plus \\d+ (seconds|minutes|hour|week|month|year)"@', '', $rules);
    return $rules;
}