File "varnish-http-purge.php"

Full path: /home/kosmetik/public_html/wp-content/plugins/wp-rocket/inc/3rd-party/plugins/varnish-http-purge.php
File size: 1.44 B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php

defined('ABSPATH') || exit;
if (class_exists('VarnishPurger')) {
    add_action('admin_init', 'rocket_clear_cache_after_varnish_http_purge');
    function rocket_clear_cache_after_varnish_http_purge()
    {
        if (isset($_GET['vhp_flush_all']) && current_user_can('manage_options') && check_admin_referer('varnish-http-purge')) {
            rocket_clean_domain();
            run_rocket_bot();
            run_rocket_sitemap_preload();
        }
    }
}
add_action('after_rocket_clean_domain', 'rocket_clean_varnish_http_purge');
function rocket_clean_varnish_http_purge()
{
    if (class_exists('VarnishPurger')) {
        $url = home_url('/?vhp-regex');
        $p = wp_parse_url($url);
        $path = '';
        $pregex = '.*';
        if (defined('VHP_VARNISH_IP') && VHP_VARNISH_IP) {
            $varniship = VHP_VARNISH_IP;
        } else {
            $varniship = get_option('vhp_varnish_ip');
        }
        if (isset($p['path'])) {
            $path = $p['path'];
        }
        $schema = apply_filters('varnish_http_purge_schema', 'http://');
        if (!empty($varniship)) {
            $purgeme = $schema . $varniship . $path . $pregex;
        } else {
            $purgeme = $schema . $p['host'] . $path . $pregex;
        }
        wp_remote_request($purgeme, ['method' => 'PURGE', 'blocking' => false, 'headers' => ['host' => $p['host'], 'X-Purge-Method' => 'regex']]);
        do_action('after_purge_url', $url, $purgeme);
    }
}