| Server IP : 37.27.51.148 / Your IP : 216.73.216.241 Web Server : nginx/1.14.1 System : Linux libra 4.18.0-553.51.1.el8_10.x86_64 #1 SMP Wed Apr 30 20:24:04 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.3.31 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/html/wp-content/plugins/wp-rocket/inc/ThirdParty/Hostings/ |
Upload File : |
<?php
declare(strict_types=1);
namespace WP_Rocket\ThirdParty\Hostings;
use WP_Rocket\Event_Management\Subscriber_Interface;
use WP_Rocket\ThirdParty\{NullSubscriber, ReturnTypesTrait};
use WP_Term;
/**
* Compatibility class for SpinUpWP
*
* @since 3.6.2
*/
class SpinUpWP extends NullSubscriber implements Subscriber_Interface {
use ReturnTypesTrait;
/**
* Array of events this subscriber wants to listen to.
*
* @since 3.6.2
*
* @return array
*/
public static function get_subscribed_events() {
return [
'do_rocket_generate_caching_files' => 'return_false',
'rocket_display_varnish_options_tab' => 'return_false',
'rocket_cache_mandatory_cookies' => 'return_empty_array',
'rocket_after_clean_domain' => 'purge_site',
'wp_rocket_loaded' => 'remove_actions',
'after_rocket_clean_file' => 'purge_url',
'rocket_rucss_after_clearing_usedcss' => 'purge_url',
'rocket_saas_complete_job_status' => 'purge_url',
'after_rocket_clean_term' => [ 'purge_term_urls', 10, 2 ],
'rocket_after_clean_terms' => 'purge_urls',
];
}
/**
* Purge SpinUpWP cache after clean domain.
*
* @since 3.6.2
*
* @return void
*/
public function purge_site() {
if ( ! function_exists( 'spinupwp_purge_site' ) ) {
return;
}
spinupwp_purge_site();
}
/**
* Remove rocket_clean_domain which prevents a double clear of the cache.
*
* @since 3.6.2
*
* @return void
*/
public function remove_actions() {
remove_action( 'switch_theme', 'rocket_clean_domain' );
}
/**
* Purge URL in SpinUpWP
*
* @param string $url URL.
*
* @return void
*/
public function purge_url( $url ) {
if ( ! function_exists( 'spinupwp_purge_url' ) ) {
return;
}
spinupwp_purge_url( trailingslashit( $url ) );
}
/**
* Purge multiple URLs
*
* @param array $urls Array of URLs.
*
* @return void
*/
public function purge_urls( $urls ) {
foreach ( $urls as $url ) {
$this->purge_url( $url );
}
}
/**
* Purge URLs related to a term
*
* @param WP_Term $term The term object.
* @param array $urls Array of URLs.
*
* @return void
*/
public function purge_term_urls( $term, $urls ) {
$this->purge_urls( $urls );
}
}