wp_cache_manager_updates() WPSCache 1.0
Хуков нет.
Возвращает
Null. Ничего.
Использование
wp_cache_manager_updates();
Код wp_cache_manager_updates() wp cache manager updates WPSCache 1.7.1
<?php
function wp_cache_manager_updates() {
global $wp_cache_mobile_enabled, $wp_cache_mfunc_enabled, $wp_supercache_cache_list, $wp_cache_config_file, $wp_cache_clear_on_post_edit, $cache_rebuild_files, $wp_cache_mutex_disabled, $wp_cache_not_logged_in, $wp_cache_make_known_anon, $cache_path, $wp_cache_refresh_single_only, $cache_compression, $wp_cache_mod_rewrite, $wp_supercache_304, $wp_super_cache_late_init, $wp_cache_front_page_checks, $cache_page_secret, $wp_cache_disable_utf8, $wp_cache_no_cache_for_get;
global $cache_schedule_type, $cache_max_time, $cache_time_interval, $wp_cache_shutdown_gc, $wpsc_save_headers;
if ( !wpsupercache_site_admin() )
return false;
if ( false == isset( $cache_page_secret ) ) {
$cache_page_secret = md5( date( 'H:i:s' ) . mt_rand() );
wp_cache_replace_line('^ *\$cache_page_secret', "\$cache_page_secret = '" . $cache_page_secret . "';", $wp_cache_config_file);
}
$valid_nonce = isset($_REQUEST['_wpnonce']) ? wp_verify_nonce($_REQUEST['_wpnonce'], 'wp-cache') : false;
if ( $valid_nonce == false )
return false;
if ( isset( $_POST[ 'action' ] ) && $_POST[ 'action' ] == 'easysetup' ) {
$_POST[ 'action' ] = 'scupdates';
if( isset( $_POST[ 'wp_cache_easy_on' ] ) && $_POST[ 'wp_cache_easy_on' ] == 1 ) {
$_POST[ 'wp_cache_enabled' ] = 1;
$_POST[ 'super_cache_enabled' ] = 1;
$_POST[ 'cache_rebuild_files' ] = 1;
unset( $_POST[ 'cache_compression' ] );
if ( $cache_path != WP_CONTENT_DIR . '/cache/' )
$_POST[ 'wp_cache_location' ] = $cache_path;
//
// set up garbage collection with some default settings
if ( ( !isset( $wp_cache_shutdown_gc ) || $wp_cache_shutdown_gc == 0 ) && false == wp_next_scheduled( 'wp_cache_gc' ) ) {
if ( false == isset( $cache_schedule_type ) ) {
$cache_schedule_type = 'interval';
$cache_time_interval = 600;
$cache_max_time = 1800;
wp_cache_replace_line('^ *\$cache_schedule_type', "\$cache_schedule_type = '$cache_schedule_type';", $wp_cache_config_file);
wp_cache_replace_line('^ *\$cache_time_interval', "\$cache_time_interval = '$cache_time_interval';", $wp_cache_config_file);
wp_cache_replace_line('^ *\$cache_max_time', "\$cache_max_time = '$cache_max_time';", $wp_cache_config_file);
}
wp_schedule_single_event( time() + 600, 'wp_cache_gc' );
}
} else {
unset( $_POST[ 'wp_cache_enabled' ] );
wp_clear_scheduled_hook( 'wp_cache_check_site_hook' );
wp_clear_scheduled_hook( 'wp_cache_gc' );
wp_clear_scheduled_hook( 'wp_cache_gc_watcher' );
}
$advanced_settings = array( 'wp_super_cache_late_init', 'wp_cache_disable_utf8', 'wp_cache_no_cache_for_get', 'wp_supercache_304', 'wp_cache_mfunc_enabled', 'wp_cache_front_page_checks', 'wp_supercache_cache_list', 'wp_cache_clear_on_post_edit', 'wp_cache_make_known_anon', 'wp_cache_refresh_single_only', 'cache_compression' );
foreach( $advanced_settings as $setting ) {
if ( isset( $GLOBALS[ $setting ] ) && $GLOBALS[ $setting ] == 1 ) {
$_POST[ $setting ] = 1;
}
}
$_POST['wp_cache_not_logged_in'] = 2;
}
if( isset( $_POST[ 'action' ] ) && $_POST[ 'action' ] == 'scupdates' ) {
if( isset( $_POST[ 'wp_cache_location' ] ) && $_POST[ 'wp_cache_location' ] != '' ) {
$dir = realpath( trailingslashit( dirname( $_POST[ 'wp_cache_location' ] ) ) );
if ( $dir == false )
$dir = WP_CONTENT_DIR . '/cache/';
else
$dir = trailingslashit( $dir ) . trailingslashit(wpsc_deep_replace( array( '..', '\\' ), basename( $_POST[ 'wp_cache_location' ] ) ) );
$new_cache_path = $dir;
} else {
$new_cache_path = WP_CONTENT_DIR . '/cache/';
}
if ( $new_cache_path != $cache_path ) {
if ( file_exists( $new_cache_path ) == false )
rename( $cache_path, $new_cache_path );
$cache_path = $new_cache_path;
wp_cache_replace_line('^ *\$cache_path', "\$cache_path = '" . $cache_path . "';", $wp_cache_config_file);
}
if( isset( $_POST[ 'wp_super_cache_late_init' ] ) ) {
$wp_super_cache_late_init = 1;
} else {
$wp_super_cache_late_init = 0;
}
wp_cache_replace_line('^ *\$wp_super_cache_late_init', "\$wp_super_cache_late_init = " . $wp_super_cache_late_init . ";", $wp_cache_config_file);
if( isset( $_POST[ 'wp_cache_disable_utf8' ] ) ) {
$wp_cache_disable_utf8 = 1;
} else {
$wp_cache_disable_utf8 = 0;
}
wp_cache_replace_line('^ *\$wp_cache_disable_utf8', "\$wp_cache_disable_utf8 = " . $wp_cache_disable_utf8 . ";", $wp_cache_config_file);
if( isset( $_POST[ 'wp_cache_no_cache_for_get' ] ) ) {
$wp_cache_no_cache_for_get = 1;
} else {
$wp_cache_no_cache_for_get = 0;
}
wp_cache_replace_line('^ *\$wp_cache_no_cache_for_get', "\$wp_cache_no_cache_for_get = " . $wp_cache_no_cache_for_get . ";", $wp_cache_config_file);
if( isset( $_POST[ 'wp_supercache_304' ] ) ) {
$wp_supercache_304 = 1;
} else {
$wp_supercache_304 = 0;
}
wp_cache_replace_line('^ *\$wp_supercache_304', "\$wp_supercache_304 = " . $wp_supercache_304 . ";", $wp_cache_config_file);
if( isset( $_POST[ 'wp_cache_mfunc_enabled' ] ) ) {
$wp_cache_mfunc_enabled = 1;
} else {
$wp_cache_mfunc_enabled = 0;
}
wp_cache_replace_line('^ *\$wp_cache_mfunc_enabled', "\$wp_cache_mfunc_enabled = " . $wp_cache_mfunc_enabled . ";", $wp_cache_config_file);
if( isset( $_POST[ 'wp_cache_mobile_enabled' ] ) ) {
$wp_cache_mobile_enabled = 1;
} else {
$wp_cache_mobile_enabled = 0;
}
wp_cache_replace_line('^ *\$wp_cache_mobile_enabled', "\$wp_cache_mobile_enabled = " . $wp_cache_mobile_enabled . ";", $wp_cache_config_file);
if( isset( $_POST[ 'wp_cache_front_page_checks' ] ) ) {
$wp_cache_front_page_checks = 1;
} else {
$wp_cache_front_page_checks = 0;
}
wp_cache_replace_line('^ *\$wp_cache_front_page_checks', "\$wp_cache_front_page_checks = " . $wp_cache_front_page_checks . ";", $wp_cache_config_file);
if( isset( $_POST[ 'wp_supercache_cache_list' ] ) ) {
$wp_supercache_cache_list = 1;
} else {
$wp_supercache_cache_list = 0;
}
wp_cache_replace_line('^ *\$wp_supercache_cache_list', "\$wp_supercache_cache_list = " . $wp_supercache_cache_list . ";", $wp_cache_config_file);
if ( isset( $_POST[ 'wp_cache_enabled' ] ) ) {
wp_cache_enable();
if ( ! defined( 'DISABLE_SUPERCACHE' ) ) {
wp_cache_debug( 'DISABLE_SUPERCACHE is not set, super_cache enabled.' );
wp_super_cache_enable();
$super_cache_enabled = true;
}
} else {
wp_cache_disable();
wp_super_cache_disable();
$super_cache_enabled = false;
}
if ( isset( $_POST[ 'wp_cache_mod_rewrite' ] ) && $_POST[ 'wp_cache_mod_rewrite' ] == 1 ) {
$wp_cache_mod_rewrite = 1;
add_mod_rewrite_rules();
} else {
$wp_cache_mod_rewrite = 0; // cache files served by PHP
remove_mod_rewrite_rules();
}
wp_cache_setting( 'wp_cache_mod_rewrite', $wp_cache_mod_rewrite );
if( isset( $_POST[ 'wp_cache_clear_on_post_edit' ] ) ) {
$wp_cache_clear_on_post_edit = 1;
} else {
$wp_cache_clear_on_post_edit = 0;
}
wp_cache_replace_line('^ *\$wp_cache_clear_on_post_edit', "\$wp_cache_clear_on_post_edit = " . $wp_cache_clear_on_post_edit . ";", $wp_cache_config_file);
if( isset( $_POST[ 'cache_rebuild_files' ] ) ) {
$cache_rebuild_files = 1;
} else {
$cache_rebuild_files = 0;
}
wp_cache_replace_line('^ *\$cache_rebuild_files', "\$cache_rebuild_files = " . $cache_rebuild_files . ";", $wp_cache_config_file);
if ( isset( $_POST[ 'wpsc_save_headers' ] ) ) {
$wpsc_save_headers = 1;
} else {
$wpsc_save_headers = 0;
}
wp_cache_replace_line('^ *\$wpsc_save_headers', "\$wpsc_save_headers = " . $wpsc_save_headers . ";", $wp_cache_config_file);
if( isset( $_POST[ 'wp_cache_mutex_disabled' ] ) ) {
$wp_cache_mutex_disabled = 0;
} else {
$wp_cache_mutex_disabled = 1;
}
if( defined( 'WPSC_DISABLE_LOCKING' ) ) {
$wp_cache_mutex_disabled = 1;
}
wp_cache_replace_line('^ *\$wp_cache_mutex_disabled', "\$wp_cache_mutex_disabled = " . $wp_cache_mutex_disabled . ";", $wp_cache_config_file);
if ( isset( $_POST['wp_cache_not_logged_in'] ) && $_POST['wp_cache_not_logged_in'] != 0 ) {
if ( $wp_cache_not_logged_in == 0 && function_exists( 'prune_super_cache' ) ) {
prune_super_cache( $cache_path, true );
}
$wp_cache_not_logged_in = (int)$_POST['wp_cache_not_logged_in'];
} else {
$wp_cache_not_logged_in = 0;
}
wp_cache_replace_line('^ *\$wp_cache_not_logged_in', "\$wp_cache_not_logged_in = " . $wp_cache_not_logged_in . ";", $wp_cache_config_file);
if( isset( $_POST[ 'wp_cache_make_known_anon' ] ) ) {
if( $wp_cache_make_known_anon == 0 && function_exists( 'prune_super_cache' ) )
prune_super_cache ($cache_path, true);
$wp_cache_make_known_anon = 1;
} else {
$wp_cache_make_known_anon = 0;
}
wp_cache_replace_line('^ *\$wp_cache_make_known_anon', "\$wp_cache_make_known_anon = " . $wp_cache_make_known_anon . ";", $wp_cache_config_file);
if( isset( $_POST[ 'wp_cache_refresh_single_only' ] ) ) {
$wp_cache_refresh_single_only = 1;
} else {
$wp_cache_refresh_single_only = 0;
}
wp_cache_setting( 'wp_cache_refresh_single_only', $wp_cache_refresh_single_only );
if ( defined( 'WPSC_DISABLE_COMPRESSION' ) ) {
$cache_compression = 0;
wp_cache_replace_line('^ *\$cache_compression', "\$cache_compression = " . $cache_compression . ";", $wp_cache_config_file);
} else {
if ( isset( $_POST[ 'cache_compression' ] ) ) {
$new_cache_compression = 1;
} else {
$new_cache_compression = 0;
}
if ( 1 == ini_get( 'zlib.output_compression' ) || "on" == strtolower( ini_get( 'zlib.output_compression' ) ) ) {
echo '<div class="notice notice-error">' . __( "<strong>Warning!</strong> You attempted to enable compression but <code>zlib.output_compression</code> is enabled. See #21 in the Troubleshooting section of the readme file.", 'wp-super-cache' ) . '</div>';
} else {
if ( $new_cache_compression != $cache_compression ) {
$cache_compression = $new_cache_compression;
wp_cache_replace_line('^ *\$cache_compression', "\$cache_compression = " . $cache_compression . ";", $wp_cache_config_file);
if ( function_exists( 'prune_super_cache' ) )
prune_super_cache( $cache_path, true );
delete_option( 'super_cache_meta' );
}
}
}
}
}