40 lines
921 B
PHP
40 lines
921 B
PHP
<?php
|
|
namespace W3TC;
|
|
|
|
|
|
|
|
class Extension_FragmentCache_Environment {
|
|
/**
|
|
* Fixes environment once event occurs
|
|
*
|
|
* @throws Util_Environment_Exceptions
|
|
*/
|
|
static public function fix_on_event( $config, $event, $old_config = null ) {
|
|
if ( $config->get_string( array( 'fragmentcache', 'engine' ) ) == 'file' ) {
|
|
if ( !wp_next_scheduled( 'w3_fragmentcache_cleanup' ) ) {
|
|
wp_schedule_event( time(),
|
|
'w3_fragmentcache_cleanup',
|
|
'w3_fragmentcache_cleanup' );
|
|
}
|
|
} else {
|
|
self::unschedule();
|
|
}
|
|
}
|
|
|
|
public static function deactivate_extension() {
|
|
$config = Dispatcher::config();
|
|
$config->set_extension_active_frontend( 'fragmentcache', false );
|
|
$config->save();
|
|
|
|
self::unschedule();
|
|
}
|
|
|
|
/**
|
|
* scheduling stuff
|
|
*/
|
|
static private function unschedule() {
|
|
if ( wp_next_scheduled( 'w3_fragmentcache_cleanup' ) ) {
|
|
wp_clear_scheduled_hook( 'w3_fragmentcache_cleanup' );
|
|
}
|
|
}
|
|
}
|