| Server IP : 103.88.176.108 / Your IP : 216.73.216.211 Web Server : Apache/2.4.41 (Ubuntu) System : Linux webserver 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/wp-content/plugins/optimole-wp/inc/compatibilities/ |
Upload File : |
<?php
/**
* Class Optml_rocketnet.
*
* @reason Clear cache on rocketnet.
*/
class Optml_rocketnet extends Optml_compatibility {
/**
* Should we load the integration logic.
*
* @return bool Should we load.
*/
public function should_load() {
return class_exists( '\CDN_Clear_Cache_Api' );
}
/**
* Register integration details.
*
* @return void
*/
public function register() {
add_action( 'optml_clear_cache', [ $this, 'add_clear_cache_action' ], 99, 1 );
}
/**
* Should we early load the compatibility?
*
* @return bool Whether to load the compatibility or not.
*/
public function should_load_early() {
return true;
}
/**
* Clear cache on rocketnet.
*
* @param string|bool $location The location to clear the cache for. If true, clear the cache globally. If a string, clear the cache for a particular url.
* @return void
*/
public function add_clear_cache_action( $location ) {
if ( $location === true && class_exists( '\CDN_Clear_Cache_Api' ) && method_exists( '\CDN_Clear_Cache_Api', 'cache_api_call' ) ) { // @phpstan-ignore-line
\CDN_Clear_Cache_Api::cache_api_call( [], 'purge_everything' );
}
if ( is_string( $location ) && class_exists( '\CDN_Clear_Cache_Api' ) && method_exists( '\CDN_Clear_Cache_Api', 'cache_api_call' ) ) { // @phpstan-ignore-line
$url_parts = parse_url( $location );
$location = ( isset( $url_parts['path'] ) ) ? rtrim( $url_parts['path'], '/' ) : '/';
if ( ! empty( $url_parts['query'] ) ) {
$location .= '?' . $url_parts['query'];
}
\CDN_Clear_Cache_Api::cache_api_call( [ $location ], 'purge' );
}
}
}