File "class-uagb-caching.php"
Full Path: /home/fresvfqn/waterdamagerestorationandrepairsmithtown.com/wp-content/plugins/ultimate-addons-for-gutenberg/classes/class-uagb-caching.php
File size: 2.16 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* UAGB Caching.
*
* @package UAGB
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
use SiteGround_Optimizer\Options\Options;
use SiteGround_Optimizer\File_Cacher\File_Cacher;
/**
* Class UAGB_Caching.
*
* @since 2.10.1
*/
class UAGB_Caching {
/**
* Member Variable
*
* @since 2.10.1
* @var UAGB_Caching|null
*/
private static $instance;
/**
* Initiator
*
* @since 2.10.1
* @return UAGB_Caching
*/
public static function get_instance() {
if ( ! isset( self::$instance ) || null === self::$instance ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Constructor
*
* @since 2.10.1
*/
public function __construct() {
add_action( 'uagb_delete_uag_asset_dir', array( $this, 'clear_cache' ) );
add_action( 'uagb_delete_page_assets', array( $this, 'clear_cache' ) );
}
/**
* Clears the cache.
*
* @since 2.10.1
* @return void
*/
public function clear_cache() {
self::clear_siteground_cache();
self::clear_cloudways_cache();
}
/**
* Clears the SiteGround cache.
*
* @since 2.10.1
* @return void
*/
public static function clear_siteground_cache() {
if ( ! class_exists( 'SiteGround_Optimizer\Options\Options' ) || ! class_exists( 'SiteGround_Optimizer\File_Cacher\File_Cacher' ) ) {
return;
}
if ( Options::is_enabled( 'siteground_optimizer_file_caching' ) ) {
File_Cacher::get_instance()->purge_everything();
}
}
/**
* This function helps to purge all cache in clodways envirnoment.
* In presence of Breeze plugin (https://wordpress.org/plugins/breeze/)
*
* @since 2.11.0
* @return void
*/
public static function clear_cloudways_cache() {
if ( ! class_exists( 'Breeze_Configuration' ) || ! class_exists( 'Breeze_CloudFlare_Helper' ) || ! class_exists( 'Breeze_Admin' ) ) {
return;
}
// clear varnish cache.
$admin = new Breeze_Admin();
$admin->breeze_clear_varnish();
// clear static cache.
Breeze_Configuration::breeze_clean_cache();
Breeze_CloudFlare_Helper::reset_all_cache();
}
}
/**
* Prepare if class 'UAGB_Caching' exist.
* Kicking this off by calling 'get_instance()' method
*/
UAGB_Caching::get_instance();