File "preload.php"

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

Download   Open   Edit   Advanced Editor   Back

<?php

defined('ABSPATH') || exit;
use WP_Rocket\Engine\Preload\FullProcess;
use WP_Rocket\Engine\Preload\Homepage;
use WP_Rocket\Engine\Preload\Sitemap;
function run_rocket_bot($spider = 'cache-preload', $lang = '')
{
    if (!get_rocket_option('manual_preload')) {
        return false;
    }
    $urls = [];
    if (!$lang) {
        $urls = get_rocket_i18n_uri();
    } else {
        $urls[] = get_rocket_i18n_home_url($lang);
    }
    $homepage_preload = new Homepage(new FullProcess());
    $homepage_preload->preload($urls);
    return true;
}
function run_rocket_sitemap_preload()
{
    if (!get_rocket_option('sitemap_preload') || !get_rocket_option('manual_preload')) {
        return;
    }
    $sitemaps = apply_filters('rocket_sitemap_preload_list', get_rocket_option('sitemaps', false));
    $sitemaps = array_flip(array_flip($sitemaps));
    if (!$sitemaps) {
        return;
    }
    $sitemap_preload = new Sitemap(new FullProcess());
    $sitemap_preload->run_preload($sitemaps);
}
function do_admin_post_rocket_preload_cache()
{
    if (empty($_GET['_wpnonce'])) {
        wp_safe_redirect(wp_get_referer());
        die;
    }
    if (!wp_verify_nonce(sanitize_key($_GET['_wpnonce']), 'preload')) {
        wp_nonce_ays('');
    }
    if (!current_user_can('rocket_preload_cache')) {
        wp_safe_redirect(wp_get_referer());
        die;
    }
    $prewarmup_stats = get_option('wp_rocket_prewarmup_stats');
    if (get_rocket_option('remove_unused_css') && empty($prewarmup_stats['allow_optimization'])) {
        wp_safe_redirect(wp_get_referer());
        die;
    }
    $preload_process = new FullProcess();
    if ($preload_process->is_process_running()) {
        wp_safe_redirect(wp_get_referer());
        die;
    }
    delete_transient('rocket_preload_errors');
    $lang = isset($_GET['lang']) && 'all' !== $_GET['lang'] ? sanitize_key($_GET['lang']) : '';
    run_rocket_bot('cache-preload', $lang);
    run_rocket_sitemap_preload();
    if (!strpos(wp_get_referer(), 'wprocket')) {
        set_transient('rocket_preload_triggered', 1);
    }
    wp_safe_redirect(wp_get_referer());
    die;
}
add_action('admin_post_nopriv_preload', 'do_admin_post_rocket_preload_cache');
add_action('admin_post_preload', 'do_admin_post_rocket_preload_cache');