File "3.5.php"

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

Download   Open   Edit   Advanced Editor   Back

<?php

defined('ABSPATH') || exit;
class_alias('\\WP_Rocket\\Engine\\Admin\\Settings\\Page', '\\WP_Rocket\\Admin\\Settings\\Page');
class_alias('\\WP_Rocket\\Engine\\Admin\\Settings\\Render', '\\WP_Rocket\\Admin\\Settings\\Render');
class_alias('\\WP_Rocket\\Engine\\Admin\\Settings\\Settings', '\\WP_Rocket\\Admin\\Settings\\Settings');
class_alias('\\WP_Rocket\\Engine\\Admin\\Settings\\ServiceProvider', '\\WP_Rocket\\ServiceProvider\\Settings');
class_alias('\\WP_Rocket\\Engine\\Admin\\Settings\\Subscriber', '\\WP_Rocket\\Subscriber\\Admin\\Settings\\Page_Subscriber');
class_alias('\\WP_Rocket\\Engine\\Preload\\AbstractPreload', '\\WP_Rocket\\Preload\\Abstract_Preload');
class_alias('\\WP_Rocket\\Engine\\Preload\\AbstractProcess', '\\WP_Rocket\\Preload\\Process');
class_alias('\\WP_Rocket\\Engine\\Preload\\FullProcess', '\\WP_Rocket\\Preload\\Full_Process');
class_alias('\\WP_Rocket\\Engine\\Preload\\Homepage', '\\WP_Rocket\\Preload\\Homepage');
class_alias('\\WP_Rocket\\Engine\\Preload\\PartialPreloadSubscriber', '\\WP_Rocket\\Subscriber\\Preload\\Partial_Preload_Subscriber');
class_alias('\\WP_Rocket\\Engine\\Preload\\PartialProcess', '\\WP_Rocket\\Preload\\Partial_Process');
class_alias('\\WP_Rocket\\Engine\\Preload\\PreloadSubscriber', '\\WP_Rocket\\Subscriber\\Preload\\Preload_Subscriber');
class_alias('\\WP_Rocket\\Engine\\Preload\\ServiceProvider', '\\WP_Rocket\\ServiceProvider\\Preload_Subscribers');
class_alias('\\WP_Rocket\\Engine\\Preload\\Sitemap', '\\WP_Rocket\\Preload\\Sitemap');
class_alias('\\WP_Rocket\\Engine\\Preload\\SitemapPreloadSubscriber', '\\WP_Rocket\\Subscriber\\Preload\\Sitemap_Preload_Subscriber');
class_alias('\\WP_Rocket\\Engine\\Optimization\\GoogleFonts\\Combine', '\\WP_Rocket\\Optimization\\CSS\\Combine_Google_Fonts');
class_alias('\\WP_Rocket\\Engine\\Optimization\\GoogleFonts\\Subscriber', '\\WP_Rocket\\Subscriber\\Optimization\\Combine_Google_Fonts_Subscriber');
class_alias('\\WP_Rocket\\Engine\\CDN\\RocketCDN\\AdminPageSubscriber', '\\WP_Rocket\\Subscriber\\CDN\\RocketCDN\\AdminPageSubscriber');
class_alias('\\WP_Rocket\\Engine\\CDN\\RocketCDN\\APIClient', '\\WP_Rocket\\CDN\\RocketCDN\\APIClient');
class_alias('\\WP_Rocket\\Engine\\CDN\\RocketCDN\\CDNOptionsManager', '\\WP_Rocket\\CDN\\RocketCDN\\CDNOptionsManager');
class_alias('\\WP_Rocket\\Engine\\CDN\\RocketCDN\\DataManagerSubscriber', '\\WP_Rocket\\Subscriber\\CDN\\RocketCDN\\DataManagerSubscriber');
class_alias('\\WP_Rocket\\Engine\\CDN\\RocketCDN\\NoticesSubscriber', '\\WP_Rocket\\Subscriber\\CDN\\RocketCDN\\NoticesSubscriber');
class_alias('\\WP_Rocket\\Engine\\CDN\\RocketCDN\\RESTSubscriber', '\\WP_Rocket\\Subscriber\\CDN\\RocketCDN\\RESTSubscriber');
class_alias('\\WP_Rocket\\Engine\\CDN\\RocketCDN\\ServiceProvider', '\\WP_Rocket\\ServiceProvider\\RocketCDN');
function rocket_disable_options_on_amp()
{
    _deprecated_function(__FUNCTION__ . '()', '3.5.2', '\\WP_Rocket\\ThirdParty\\Plugins\\Optimization\\AMP::disable_options_on_amp()');
    global $wp_filter;
    if (function_exists('is_amp_endpoint') && is_amp_endpoint()) {
        remove_filter('wp_resource_hints', 'rocket_dns_prefetch', 10, 2);
        add_filter('do_rocket_lazyload', '__return_false');
        unset($wp_filter['rocket_buffer']);
        $do_rocket_protocol_rewrite = apply_filters('do_rocket_protocol_rewrite', false);
        if (get_rocket_option('do_cloudflare', 0) && get_rocket_option('cloudflare_protocol_rewrite', 0) || $do_rocket_protocol_rewrite) {
            remove_filter('rocket_buffer', 'rocket_protocol_rewrite', PHP_INT_MAX);
            remove_filter('wp_calculate_image_srcset', 'rocket_protocol_rewrite_srcset', PHP_INT_MAX);
        }
    }
}
function rocket_is_api_keys_valid_cloudflare($cf_email, $cf_api_key, $cf_zone_id, $basic_validation = true)
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', '\\WP_Rocket\\Subscriber\\Tools\\Cloudflare_Subscriber::is_api_keys_valid()');
    if (!function_exists('curl_init') || !function_exists('curl_exec')) {
        return new WP_Error('curl_disabled', __('Curl is disabled on your server. Please ask your host to enable it. This is required for the Cloudflare Add-on to work correctly.', 'rocket'));
    }
    if (!isset($cf_email, $cf_api_key) || empty($cf_email) || empty($cf_api_key)) {
        return new WP_Error('cloudflare_credentials_empty', sprintf(__('Cloudflare email, API key and Zone ID are not set. Read the %1$sdocumentation%2$s for further guidance.', 'rocket'), '<a href="' . esc_url(__('https://docs.wp-rocket.me/article/18-using-wp-rocket-with-cloudflare/?utm_source=wp_plugin&utm_medium=wp_rocket#add-on', 'rocket')) . '" rel="noopener noreferrer" target="_blank">', '</a>'));
    }
    if (!isset($cf_zone_id) || empty($cf_zone_id)) {
        $msg = __('Missing Cloudflare Zone ID.', 'rocket');
        $msg .= ' ' . sprintf(__('Read the %1$sdocumentation%2$s for further guidance.', 'rocket'), '<a href="' . esc_url(__('https://docs.wp-rocket.me/article/18-using-wp-rocket-with-cloudflare/?utm_source=wp_plugin&utm_medium=wp_rocket#add-on', 'rocket')) . '" rel="noopener noreferrer" target="_blank">', '</a>');
        return new WP_Error('cloudflare_no_zone_id', $msg);
    }
    if ($basic_validation) {
        return true;
    }
    try {
        $cf_api_instance = new Cloudflare\Api($cf_email, $cf_api_key);
        $cf_zone = $cf_api_instance->get('zones/' . $cf_zone_id);
        if (!isset($cf_zone->success) || empty($cf_zone->success)) {
            foreach ($cf_zone->errors as $error) {
                if (6003 === $error->code) {
                    $msg = __('Incorrect Cloudflare email address or API key.', 'rocket');
                    $msg .= ' ' . sprintf(__('Read the %1$sdocumentation%2$s for further guidance.', 'rocket'), '<a href="' . esc_url(__('https://docs.wp-rocket.me/article/18-using-wp-rocket-with-cloudflare/?utm_source=wp_plugin&utm_medium=wp_rocket#add-on', 'rocket')) . '" rel="noopener noreferrer" target="_blank">', '</a>');
                    return new WP_Error('cloudflare_invalid_auth', $msg);
                }
            }
            $msg = __('Incorrect Cloudflare Zone ID.', 'rocket');
            $msg .= ' ' . sprintf(__('Read the %1$sdocumentation%2$s for further guidance.', 'rocket'), '<a href="' . esc_url(__('https://docs.wp-rocket.me/article/18-using-wp-rocket-with-cloudflare/?utm_source=wp_plugin&utm_medium=wp_rocket#add-on', 'rocket')) . '" rel="noopener noreferrer" target="_blank">', '</a>');
            return new WP_Error('cloudflare_invalid_auth', $msg);
        }
        if (true === $cf_zone->success) {
            $zone_found = false;
            $site_url = get_site_url();
            if (function_exists('domain_mapping_siteurl')) {
                $site_url = domain_mapping_siteurl($site_url);
            }
            if (!empty($cf_zone->result)) {
                $parsed_url = wp_parse_url($site_url);
                if (false !== strpos(strtolower($parsed_url['host']), $cf_zone->result->name)) {
                    $zone_found = true;
                }
            }
            if (!$zone_found) {
                $msg = __('It looks like your domain is not set up on Cloudflare.', 'rocket');
                $msg .= ' ' . sprintf(__('Read the %1$sdocumentation%2$s for further guidance.', 'rocket'), '<a href="' . esc_url(__('https://docs.wp-rocket.me/article/18-using-wp-rocket-with-cloudflare/?utm_source=wp_plugin&utm_medium=wp_rocket#add-on', 'rocket')) . '" rel="noopener noreferrer" target="_blank">', '</a>');
                return new WP_Error('cloudflare_wrong_zone_id', $msg);
            }
            return true;
        }
    } catch (Exception $e) {
        $msg = __('Incorrect Cloudflare email address or API key.', 'rocket');
        $msg .= ' ' . sprintf(__('Read the %1$sdocumentation%2$s for further guidance.', 'rocket'), '<a href="' . esc_url(__('https://docs.wp-rocket.me/article/18-using-wp-rocket-with-cloudflare/?utm_source=wp_plugin&utm_medium=wp_rocket#add-on', 'rocket')) . '" rel="noopener noreferrer" target="_blank">', '</a>');
        return new WP_Error('cloudflare_invalid_auth', $msg);
    }
}
function get_rocket_cloudflare_api_instance()
{
    _deprecated_function(__FUNCTION__ . '()', '3.5');
    if (!function_exists('curl_init') || !function_exists('curl_exec')) {
        return new WP_Error('curl_disabled', __('Curl is disabled on your server. Please ask your host to enable it. This is required for the Cloudflare Add-on to work correctly.', 'rocket'));
    }
    $cf_email = get_rocket_option('cloudflare_email', null);
    $cf_api_key = defined('WP_ROCKET_CF_API_KEY') ? WP_ROCKET_CF_API_KEY : get_rocket_option('cloudflare_api_key', null);
    if (!isset($cf_email, $cf_api_key)) {
        return new WP_Error('cloudflare_credentials_empty', sprintf(__('Cloudflare email and API key are not set. Read the %1$sdocumentation%2$s for further guidance.', 'rocket'), '<a href="' . esc_url(__('https://docs.wp-rocket.me/article/18-using-wp-rocket-with-cloudflare/?utm_source=wp_plugin&utm_medium=wp_rocket#add-on', 'rocket')) . '" rel="noopener noreferrer" target="_blank">', '</a>'));
    }
    return new Cloudflare\Api($cf_email, $cf_api_key);
}
function get_rocket_cloudflare_instance()
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', '\\WP_Rocket\\Subscriber\\Tools\\Cloudflare_Subscriber::get_instance()');
    $cf_email = get_rocket_option('cloudflare_email', null);
    $cf_api_key = defined('WP_ROCKET_CF_API_KEY') ? WP_ROCKET_CF_API_KEY : get_rocket_option('cloudflare_api_key', null);
    $cf_zone_id = get_rocket_option('cloudflare_zone_id', null);
    $is_api_keys_valid_cf = rocket_is_api_keys_valid_cloudflare($cf_email, $cf_api_key, $cf_zone_id, true);
    if (is_wp_error($is_api_keys_valid_cf)) {
        return $is_api_keys_valid_cf;
    }
    $cf_api_instance = get_rocket_cloudflare_api_instance();
    $cf_instance = (object) ['auth' => $cf_api_instance, 'zone_id' => $cf_zone_id];
    return $cf_instance;
}
function rocket_cloudflare_valid_auth()
{
    _deprecated_function(__FUNCTION__ . '()', '3.5');
    $cf_api_instance = get_rocket_cloudflare_api_instance();
    if (is_wp_error($cf_api_instance)) {
        return $cf_api_instance;
    }
    try {
        $cf_zone_instance = new Cloudflare\Zone($cf_api_instance);
        $cf_zones = $cf_zone_instance->zones();
        if (!isset($cf_zones->success) || empty($cf_zones->success)) {
            throw new Exception(__('Connection to Cloudflare failed', 'rocket'));
        }
        if (true === $cf_zones->success) {
            return true;
        }
    } catch (Exception $e) {
        return new WP_Error('cloudflare_invalid_auth', $e->getMessage());
    }
}
function get_rocket_cloudflare_settings()
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', '\\WP_Rocket\\Subscriber\\Tools\\Cloudflare_Subscriber::get_settings()');
}
function set_rocket_cloudflare_devmode($mode)
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', '\\WP_Rocket\\Subscriber\\Tools\\Cloudflare_Subscriber::set_devmode()');
}
function set_rocket_cloudflare_cache_level($mode)
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', '\\WP_Rocket\\Subscriber\\Tools\\Cloudflare_Subscriber::set_cache_level()');
}
function set_rocket_cloudflare_minify($mode)
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', '\\WP_Rocket\\Subscriber\\Tools\\Cloudflare_Subscriber::set_minify()');
}
function set_rocket_cloudflare_rocket_loader($mode)
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', '\\WP_Rocket\\Subscriber\\Tools\\Cloudflare_Subscriber::set_rocket_loader()');
}
function set_rocket_cloudflare_browser_cache_ttl($mode)
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', '\\WP_Rocket\\Subscriber\\Tools\\Cloudflare_Subscriber::set_browser_cache_ttl()');
}
function rocket_purge_cloudflare()
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', '\\WP_Rocket\\Subscriber\\Tools\\Cloudflare_Subscriber::purge_cloudflare()');
}
function rocket_get_cloudflare_ips()
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', '\\WP_Rocket\\Subscriber\\Tools\\Cloudflare_Subscriber::get_cloudflare_ips()');
    $cf_instance = get_rocket_cloudflare_api_instance();
    if (is_wp_error($cf_instance)) {
        return $cf_instance;
    }
    $cf_ips = get_transient('rocket_cloudflare_ips');
    if (false === $cf_ips) {
        try {
            $cf_ips_instance = new Cloudflare\IPs($cf_instance);
            $cf_ips = $cf_ips_instance->ips();
            if (!isset($cf_ips->success) || !$cf_ips->success) {
                throw new Exception('Error connecting to Cloudflare');
            }
            set_transient('rocket_cloudflare_ips', $cf_ips, 2 * WEEK_IN_SECONDS);
        } catch (Exception $e) {
            $cf_ips = (object) ['success' => true, 'result' => (object) []];
            $cf_ips->result->ipv4_cidrs = ['103.21.244.0/22', '103.22.200.0/22', '103.31.4.0/22', '104.16.0.0/12', '108.162.192.0/18', '131.0.72.0/22', '141.101.64.0/18', '162.158.0.0/15', '172.64.0.0/13', '173.245.48.0/20', '188.114.96.0/20', '190.93.240.0/20', '197.234.240.0/22', '198.41.128.0/17'];
            $cf_ips->result->ipv6_cidrs = ['2400:cb00::/32', '2405:8100::/32', '2405:b500::/32', '2606:4700::/32', '2803:f800::/32', '2c0f:f248::/32', '2a06:98c0::/29'];
            set_transient('rocket_cloudflare_ips', $cf_ips, 2 * WEEK_IN_SECONDS);
            return $cf_ips;
        }
    }
    return $cf_ips;
}
function rocket_set_real_ip_cloudflare()
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', '\\WP_Rocket\\Subscriber\\Tools\\Cloudflare_Subscriber::set_real_ip()');
    global $is_cf;
    $is_cf = isset($_SERVER['HTTP_CF_CONNECTING_IP']) ? true : false;
    if (!$is_cf) {
        return;
    }
    if (isset($_SERVER['REMOTE_ADDR'])) {
        $cf_ips_values = rocket_get_cloudflare_ips();
        if (is_wp_error($cf_ips_values) || !isset($cf_ips_values->success) || !$cf_ips_values->success) {
            return;
        }
        if (strpos($_SERVER['REMOTE_ADDR'], ':') === false) {
            $cf_ip_ranges = $cf_ips_values->result->ipv4_cidrs;
            foreach ($cf_ip_ranges as $range) {
                if (rocket_ipv4_in_range($_SERVER['REMOTE_ADDR'], $range)) {
                    if ($_SERVER['HTTP_CF_CONNECTING_IP']) {
                        $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
                    }
                    break;
                }
            }
        } else {
            $cf_ip_ranges = $cf_ips_values->result->ipv6_cidrs;
            $ipv6 = get_rocket_ipv6_full($_SERVER['REMOTE_ADDR']);
            foreach ($cf_ip_ranges as $range) {
                if (rocket_ipv6_in_range($ipv6, $range)) {
                    if ($_SERVER['HTTP_CF_CONNECTING_IP']) {
                        $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
                    }
                    break;
                }
            }
        }
    }
    if (!headers_sent()) {
        header('X-CF-Powered-By: WP Rocket ' . WP_ROCKET_VERSION);
    }
}
function rocket_cloudflare_purge_result()
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', '\\WP_Rocket\\Subscriber\\Tools\\Cloudflare_Subscriber::maybe_print_notice()');
    global $current_user;
    if (!current_user_can('rocket_purge_cloudflare_cache')) {
        return;
    }
    if (!is_admin()) {
        return;
    }
    $notice = get_transient($current_user->ID . '_cloudflare_purge_result');
    if (!$notice) {
        return;
    }
    delete_transient($current_user->ID . '_cloudflare_purge_result');
    rocket_notice_html(['status' => $notice['result'], 'message' => $notice['message']]);
}
function do_admin_post_rocket_purge_cloudflare()
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', '\\WP_Rocket\\Subscriber\\Tools\\Cloudflare_Subscriber::do_purge_cloudflare()');
    if (!isset($_GET['_wpnonce']) || !wp_verify_nonce($_GET['_wpnonce'], 'rocket_purge_cloudflare')) {
        wp_nonce_ays('');
    }
    if (!current_user_can('rocket_purge_cloudflare_cache')) {
        return;
    }
    $cf_purge = rocket_purge_cloudflare();
    if (is_wp_error($cf_purge)) {
        $cf_purge_result = ['result' => 'error', 'message' => sprintf(__('<strong>WP Rocket:</strong> %s', 'rocket'), $cf_purge->get_error_message())];
    } else {
        $cf_purge_result = ['result' => 'success', 'message' => __('<strong>WP Rocket:</strong> Cloudflare cache successfully purged.', 'rocket')];
    }
    set_transient(get_current_user_id() . '_cloudflare_purge_result', $cf_purge_result);
    wp_safe_redirect(esc_url_raw(wp_get_referer()));
    die;
}
function rocket_cloudflare_update_settings()
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', '\\WP_Rocket\\Subscriber\\Tools\\Cloudflare_Subscriber::maybe_print_update_settings_notice()');
    global $current_user;
    $screen = get_current_screen();
    if (!current_user_can('rocket_manage_options')) {
        return;
    }
    if ('settings_page_wprocket' !== $screen->id) {
        return;
    }
    $notices = get_transient($current_user->ID . '_cloudflare_update_settings');
    if ($notices) {
        $errors = '';
        $success = '';
        delete_transient($current_user->ID . '_cloudflare_update_settings');
        foreach ($notices as $notice) {
            if ('error' === $notice['result']) {
                $errors .= $notice['message'] . '<br>';
            } elseif ('success' === $notice['result']) {
                $success .= $notice['message'] . '<br>';
            }
        }
        if (!empty($success)) {
            rocket_notice_html(['message' => $success]);
        }
        if (!empty($errors)) {
            rocket_notice_html(['status' => 'error', 'message' => $success]);
        }
    }
}
function rocket_varnish_clean_domain($root, $lang, $url)
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', 'WP_Rocket\\Subscriber\\Addons\\Varnish\\VarnishSubscriber::clean_domain()');
    rocket_varnish_http_purge(trailingslashit($url) . '?vregex');
}
function rocket_varnish_clean_file($url)
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', 'WP_Rocket\\Subscriber\\Addons\\Varnish\\VarnishSubscriber::clean_file()');
    rocket_varnish_http_purge(trailingslashit($url) . '?vregex');
}
function rocket_varnish_clean_home($root, $lang)
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', 'WP_Rocket\\Subscriber\\Addons\\Varnish\\VarnishSubscriber::clean_home()');
    $home_url = trailingslashit(get_rocket_i18n_home_url($lang));
    $home_pagination_url = $home_url . trailingslashit($GLOBALS['wp_rewrite']->pagination_base) . '?vregex';
    rocket_varnish_http_purge($home_url);
    rocket_varnish_http_purge($home_pagination_url);
}
function rocket_varnish_proxy_host()
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', 'WP_Rocket\\Subscriber\\Addons\\Cloudflare\\CloudflareSubscriber::set_varnish_localhost()');
    return 'localhost';
}
function rocket_varnish_proxy_request_host()
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', 'WP_Rocket\\Subscriber\\Addons\\Cloudflare\\CloudflareSubscriber::set_varnish_purge_request_host()');
    return wp_parse_url(home_url(), PHP_URL_HOST);
}
function rocket_varnish_http_purge($url)
{
    _deprecated_function(__FUNCTION__ . '()', '3.5', 'WP_Rocket\\Addons\\Varnish\\Varnish::purge()');
    $parse_url = get_rocket_parse_url($url);
    $varnish_x_purgemethod = 'default';
    $regex = '';
    if ('vregex' === $parse_url['query']) {
        $varnish_x_purgemethod = 'regex';
        $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', 'http');
    $parse_url['host'] = $varnish_ip ? $varnish_ip : $parse_url['host'];
    $purgeme = $scheme . '://' . $parse_url['host'] . $parse_url['path'] . $regex;
    wp_remote_request($purgeme, array('method' => 'PURGE', 'blocking' => false, 'redirection' => 0, 'headers' => apply_filters('rocket_varnish_purge_headers', ['host' => apply_filters('rocket_varnish_purge_request_host', $parse_url['host']), 'X-Purge-Method' => $varnish_x_purgemethod])));
}
function rocket_warning_cron()
{
    _deprecated_function(__FUNCTION__ . '()', '3.5.4', 'WP_Rocket\\Engine\\Admin\\HealthCheck::missed_cron()');
    $screen = get_current_screen();
    if (!current_user_can(apply_filters('rocket_capacity', 'manage_options'))) {
        return;
    }
    if ('settings_page_wprocket' !== $screen->id) {
        return;
    }
    $boxes = get_user_meta(get_current_user_id(), 'rocket_boxes', true);
    if (in_array(__FUNCTION__, (array) $boxes, true)) {
        return;
    }
    if (0 === (int) get_rocket_option('purge_cron_interval') && 0 === get_rocket_option('async_css') && 0 === get_rocket_option('manual_preload') && 0 === get_rocket_option('schedule_automatic_cleanup')) {
        return;
    }
    $events = ['rocket_purge_time_event' => 'Scheduled Cache Purge', 'rocket_database_optimization_time_event' => 'Scheduled Database Optimization', 'rocket_database_optimization_cron_interval' => 'Database Optimization Process', 'rocket_preload_cron_interval' => 'Preload', 'rocket_critical_css_generation_cron_interval' => 'Critical Path CSS Generation Process'];
    foreach ($events as $event => $description) {
        $timestamp = wp_next_scheduled($event);
        if (false === $timestamp) {
            unset($events[$event]);
            continue;
        }
        if ($timestamp - time() > 0) {
            unset($events[$event]);
            continue;
        }
    }
    if (empty($events)) {
        return;
    }
    $message = '<p>' . _n('The following scheduled event failed to run. This may indicate the CRON system is not running properly, which can prevent some WP Rocket features from working as intended:', 'The following scheduled events failed to run. This may indicate the CRON system is not running properly, which can prevent some WP Rocket features from working as intended:', count($events), 'rocket') . '</p>';
    $message .= '<ul>';
    foreach ($events as $description) {
        $message .= '<li>' . $description . '</li>';
    }
    $message .= '</ul>';
    $message .= '<p>' . __('Please contact your host to check if CRON is working.', 'rocket') . '</p>';
    rocket_notice_html(['status' => 'warning', 'dismissible' => '', 'message' => $message, 'dismiss_button' => __FUNCTION__]);
}
function rocket_tag_row_actions($actions, $term)
{
    _deprecated_function(__FUNCTION__ . '()', '3.5.5', 'WP_Rocket\\Engine\\Cache\\AdminSubscriber::add_purge_term_link()');
    global $taxnow;
    if (!current_user_can('rocket_purge_terms')) {
        return $actions;
    }
    $url = wp_nonce_url(admin_url('admin-post.php?action=purge_cache&type=term-' . $term->term_id . '&taxonomy=' . $taxnow), 'purge_cache_term-' . $term->term_id);
    $actions['rocket_purge'] = sprintf('<a href="%s">%s</a>', $url, __('Clear this cache', 'rocket'));
    return $actions;
}