wp_cache_manager() │ WPSCache 1.0
Hooks from the function
Returns
null. Nothing (null).
Usage
wp_cache_manager();
wp_cache_manager() wp cache manager code WPSCache 3.0.3
<?php
function wp_cache_manager() {
global $wp_cache_config_file, $valid_nonce, $supercachedir, $cache_path, $cache_enabled, $cache_compression, $super_cache_enabled;
global $wp_cache_clear_on_post_edit, $cache_rebuild_files, $wp_cache_mutex_disabled, $wp_cache_mobile_enabled, $wp_cache_mobile_browsers, $wp_cache_no_cache_for_get;
global $wp_cache_not_logged_in, $wp_cache_make_known_anon, $wp_supercache_cache_list, $cache_page_secret;
global $wp_super_cache_front_page_check, $wp_cache_refresh_single_only, $wp_cache_mobile_prefixes;
global $wp_cache_mod_rewrite, $wp_supercache_304, $wp_super_cache_late_init, $wp_cache_front_page_checks, $wp_cache_disable_utf8, $wp_cache_mfunc_enabled;
global $wp_super_cache_comments, $wp_cache_home_path, $wpsc_save_headers, $is_nginx;
global $wpsc_promo_links;
if ( !wpsupercache_site_admin() )
return false;
// used by mod_rewrite rules and config file
if ( function_exists( "cfmobi_default_browsers" ) ) {
$wp_cache_mobile_browsers = cfmobi_default_browsers( "mobile" );
$wp_cache_mobile_browsers = array_merge( $wp_cache_mobile_browsers, cfmobi_default_browsers( "touch" ) );
} elseif ( function_exists( 'lite_detection_ua_contains' ) ) {
$wp_cache_mobile_browsers = explode( '|', lite_detection_ua_contains() );
} else {
$wp_cache_mobile_browsers = array( '2.0 MMP', '240x320', '400X240', 'AvantGo', 'BlackBerry', 'Blazer', 'Cellphone', 'Danger', 'DoCoMo', 'Elaine/3.0', 'EudoraWeb', 'Googlebot-Mobile', 'hiptop', 'IEMobile', 'KYOCERA/WX310K', 'LG/U990', 'MIDP-2.', 'MMEF20', 'MOT-V', 'NetFront', 'Newt', 'Nintendo Wii', 'Nitro', 'Nokia', 'Opera Mini', 'Palm', 'PlayStation Portable', 'portalmmm', 'Proxinet', 'ProxiNet', 'SHARP-TQ-GX10', 'SHG-i900', 'Small', 'SonyEricsson', 'Symbian OS', 'SymbianOS', 'TS21i-10', 'UP.Browser', 'UP.Link', 'webOS', 'Windows CE', 'WinWAP', 'YahooSeeker/M1A1-R2D2', 'iPhone', 'iPod', 'iPad', 'Android', 'BlackBerry9530', 'LG-TU915 Obigo', 'LGE VX', 'webOS', 'Nokia5800' );
}
if ( function_exists( "lite_detection_ua_prefixes" ) ) {
$wp_cache_mobile_prefixes = lite_detection_ua_prefixes();
} else {
$wp_cache_mobile_prefixes = array( 'w3c ', 'w3c-', 'acs-', 'alav', 'alca', 'amoi', 'audi', 'avan', 'benq', 'bird', 'blac', 'blaz', 'brew', 'cell', 'cldc', 'cmd-', 'dang', 'doco', 'eric', 'hipt', 'htc_', 'inno', 'ipaq', 'ipod', 'jigs', 'kddi', 'keji', 'leno', 'lg-c', 'lg-d', 'lg-g', 'lge-', 'lg/u', 'maui', 'maxo', 'midp', 'mits', 'mmef', 'mobi', 'mot-', 'moto', 'mwbp', 'nec-', 'newt', 'noki', 'palm', 'pana', 'pant', 'phil', 'play', 'port', 'prox', 'qwap', 'sage', 'sams', 'sany', 'sch-', 'sec-', 'send', 'seri', 'sgh-', 'shar', 'sie-', 'siem', 'smal', 'smar', 'sony', 'sph-', 'symb', 't-mo', 'teli', 'tim-', 'tosh', 'tsm-', 'upg1', 'upsi', 'vk-v', 'voda', 'wap-', 'wapa', 'wapi', 'wapp', 'wapr', 'webc', 'winw', 'winw', 'xda ', 'xda-' ); // from http://svn.wp-plugins.org/wordpress-mobile-pack/trunk/plugins/wpmp_switcher/lite_detection.php
}
$wp_cache_mobile_browsers = apply_filters( 'cached_mobile_browsers', $wp_cache_mobile_browsers ); // Allow mobile plugins access to modify the mobile UA list
$wp_cache_mobile_prefixes = apply_filters( 'cached_mobile_prefixes', $wp_cache_mobile_prefixes ); // Allow mobile plugins access to modify the mobile UA prefix list
if ( function_exists( 'do_cacheaction' ) ) {
$wp_cache_mobile_browsers = do_cacheaction( 'wp_super_cache_mobile_browsers', $wp_cache_mobile_browsers );
$wp_cache_mobile_prefixes = do_cacheaction( 'wp_super_cache_mobile_prefixes', $wp_cache_mobile_prefixes );
}
$mobile_groups = apply_filters( 'cached_mobile_groups', array() ); // Group mobile user agents by capabilities. Lump them all together by default
// mobile_groups = array( 'apple' => array( 'ipod', 'iphone' ), 'nokia' => array( 'nokia5800', 'symbianos' ) );
$wp_cache_mobile_browsers = implode( ', ', $wp_cache_mobile_browsers );
$wp_cache_mobile_prefixes = implode( ', ', $wp_cache_mobile_prefixes );
if ( false == apply_filters( 'wp_super_cache_error_checking', true ) )
return false;
if ( function_exists( 'get_supercache_dir' ) )
$supercachedir = get_supercache_dir();
if( get_option( 'gzipcompression' ) == 1 )
update_option( 'gzipcompression', 0 );
if( !isset( $cache_rebuild_files ) )
$cache_rebuild_files = 0;
$valid_nonce = isset($_REQUEST['_wpnonce']) ? wp_verify_nonce($_REQUEST['_wpnonce'], 'wp-cache') : false;
/* http://www.netlobo.com/div_hiding.html */
?>
<script type='text/javascript'>
<!--
function toggleLayer( whichLayer ) {
var elem, vis;
if( document.getElementById ) // this is the way the standards work
elem = document.getElementById( whichLayer );
else if( document.all ) // this is the way old msie versions work
elem = document.all[whichLayer];
else if( document.layers ) // this is the way nn4 works
elem = document.layers[whichLayer];
vis = elem.style;
// if the style.display value is blank we try to figure it out here
if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
vis.display = (vis.display==''||vis.display=='block')?'none':'block';
}
// -->
//Clicking header opens fieldset options
jQuery(document).ready(function(){
jQuery("fieldset h4").css("cursor","pointer").on("click",function(){
jQuery(this).parent("fieldset").find("p,form,ul,blockquote").toggle("slow");
});
});
</script>
<style type='text/css'>
#nav h3 {
border-bottom: 1px solid #ccc;
padding-bottom: 0;
height: 1.5em;
}
table.wpsc-settings-table {
clear: both;
}
</style>
<div id="wpsc-dashboard">
<?php
wpsc_render_header();
echo '<div class="wpsc-body">';
echo '<a name="top"></a>';
// Set a default.
if ( false === $cache_enabled && ! isset( $wp_cache_mod_rewrite ) ) {
$wp_cache_mod_rewrite = 0;
} elseif ( ! isset( $wp_cache_mod_rewrite ) && $cache_enabled && $super_cache_enabled ) {
$wp_cache_mod_rewrite = 1;
}
$admin_url = admin_url( 'options-general.php?page=wpsupercache' );
$curr_tab = ! empty( $_GET['tab'] ) ? sanitize_text_field( stripslashes( $_GET['tab'] ) ) : ''; // WPCS: sanitization ok.
if ( empty( $curr_tab ) ) {
$curr_tab = 'easy';
if ( $wp_cache_mod_rewrite ) {
$curr_tab = 'settings';
echo '<div class="notice notice-info is-dismissible"><p>' . __( 'Notice: <em>Expert mode caching enabled</em>. Showing Advanced Settings Page by default.', 'wp-super-cache' ) . '</p></div>';
}
}
if ( 'preload' === $curr_tab ) {
if ( true == $super_cache_enabled && ! defined( 'DISABLESUPERCACHEPRELOADING' ) ) {
global $wp_cache_preload_interval, $wp_cache_preload_on, $wp_cache_preload_taxonomies, $wp_cache_preload_email_me, $wp_cache_preload_email_volume, $wp_cache_preload_posts, $wpdb;
wpsc_preload_settings();
$currently_preloading = false;
echo '<div id="wpsc-preload-status"></div>';
}
}
wpsc_admin_tabs( $curr_tab );
echo '<div class="wpsc-body-content wrap">';
if ( isset( $wp_super_cache_front_page_check ) && $wp_super_cache_front_page_check == 1 && ! wp_next_scheduled( 'wp_cache_check_site_hook' ) ) {
wp_schedule_single_event( time() + 360, 'wp_cache_check_site_hook' );
wp_cache_debug( 'scheduled wp_cache_check_site_hook for 360 seconds time.', 2 );
}
if ( isset( $_REQUEST['wp_restore_config'] ) && $valid_nonce ) {
unlink( $wp_cache_config_file );
echo '<strong>' . esc_html__( 'Configuration file changed, some values might be wrong. Load the page again from the "Settings" menu to reset them.', 'wp-super-cache' ) . '</strong>';
}
if ( substr( get_option( 'permalink_structure' ), -1 ) == '/' ) {
wp_cache_replace_line( '^ *\$wp_cache_slash_check', "\$wp_cache_slash_check = 1;", $wp_cache_config_file );
} else {
wp_cache_replace_line( '^ *\$wp_cache_slash_check', "\$wp_cache_slash_check = 0;", $wp_cache_config_file );
}
$home_path = parse_url( site_url() );
$home_path = trailingslashit( array_key_exists( 'path', $home_path ) ? $home_path['path'] : '' );
if ( ! isset( $wp_cache_home_path ) ) {
$wp_cache_home_path = '/';
wp_cache_setting( 'wp_cache_home_path', '/' );
}
if ( "$home_path" != "$wp_cache_home_path" ) {
wp_cache_setting( 'wp_cache_home_path', $home_path );
}
if ( $wp_cache_mobile_enabled == 1 ) {
update_cached_mobile_ua_list( $wp_cache_mobile_browsers, $wp_cache_mobile_prefixes, $mobile_groups );
}
?>
<style>
.wpsc-boost-banner {
margin: 2px 1.25rem 1.25rem 0;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03), 0 1px 2px rgba(0, 0, 0, 0.03);
border: 1px solid #d5d5d5;
position: relative;
}
.wpsc-boost-banner-inner {
display: flex;
grid-template-columns: minmax(auto, 750px) 500px;
justify-content: space-between;
min-height: 300px;
background: #fff;
overflow: hidden;
}
.wpsc-boost-banner-content {
display: inline-flex;
flex-direction: column;
padding: 2.5rem;
text-align: left;
}
.wpsc-boost-banner-image-container {
position: relative;
background-image: url( <?php echo esc_url( plugin_dir_url( __FILE__ ) . '/assets/jetpack-colors.svg' ); ?> );
background-size: cover;
min-width: 40%;
max-width: 40%;
overflow: hidden;
text-align: right;
}
.wpsc-boost-banner-image-container img {
position: relative;
top: 50%;
transform: translateY(-50%);
}
.wpsc-boost-banner h3 {
font-size: 24px;
line-height: 32px;
}
.wpsc-boost-banner p {
font-size: 14px;
line-height: 24px;
margin: 0 0 1.9rem;
}
.wpsc-boost-banner .wpsc-boost-dismiss {
position: absolute;
top: 10px;
right: 10px;
color: black;
cursor:pointer;
}
.wpsc-boost-banner .button-primary {
background: black;
border-color: black;
color: #fff;
width: fit-content;
padding: 0.4rem 1rem;
font-size: 16px;
line-height: 23px;
}
.wpsc-boost-banner .button-primary:hover {
background-color: #333;
}
.wpsc-boost-banner .button-primary:visited {
background-color: black;
border-color: black;
}
</style>
<table class="wpsc-settings-table"><td valign="top">
<?php
wpsc_jetpack_boost_install_banner();
switch ( $curr_tab ) {
case 'cdn':
scossdl_off_options();
break;
case 'tester':
case 'contents':
echo '<a name="test"></a>';
wp_cache_files();
break;
case 'preload':
wpsc_render_partial(
'preload',
compact(
'cache_enabled',
'super_cache_enabled',
'admin_url',
'wp_cache_preload_interval',
'wp_cache_preload_on',
'wp_cache_preload_taxonomies',
'wp_cache_preload_email_me',
'wp_cache_preload_email_volume',
'currently_preloading',
'wp_cache_preload_posts'
)
);
break;
case 'plugins':
wpsc_plugins_tab();
break;
case 'debug':
global $wp_super_cache_debug, $wp_cache_debug_log, $wp_cache_debug_ip, $wp_cache_debug_ip;
global $wp_super_cache_front_page_text, $wp_super_cache_front_page_notification;
global $wp_super_cache_advanced_debug, $wp_cache_debug_username, $wp_super_cache_front_page_clear;
wpsc_render_partial(
'debug',
compact( 'wp_super_cache_debug', 'wp_cache_debug_log', 'wp_cache_debug_ip', 'cache_path', 'valid_nonce', 'wp_cache_config_file', 'wp_super_cache_comments', 'wp_super_cache_front_page_check', 'wp_super_cache_front_page_clear', 'wp_super_cache_front_page_text', 'wp_super_cache_front_page_notification', 'wp_super_cache_advanced_debug', 'wp_cache_debug_username', 'wp_cache_home_path' )
);
break;
case 'settings':
global $cache_acceptable_files, $wpsc_rejected_cookies, $cache_rejected_uri, $wp_cache_pages;
global $cache_max_time, $wp_cache_config_file, $valid_nonce, $super_cache_enabled, $cache_schedule_type, $cache_scheduled_time, $cache_schedule_interval, $cache_time_interval, $cache_gc_email_me, $wp_cache_preload_on;
wp_cache_update_rejected_pages();
wp_cache_update_rejected_cookies();
wp_cache_update_rejected_strings();
wp_cache_update_accepted_strings();
wp_cache_time_update();
wpsc_render_partial(
'advanced',
compact(
'wp_cache_front_page_checks',
'admin_url',
'cache_enabled',
'super_cache_enabled',
'wp_cache_mod_rewrite',
'is_nginx',
'wp_cache_not_logged_in',
'wp_cache_no_cache_for_get',
'cache_compression',
'cache_rebuild_files',
'wpsc_save_headers',
'wp_supercache_304',
'wp_cache_make_known_anon',
'wp_cache_mfunc_enabled',
'wp_cache_mobile_enabled',
'wp_cache_mobile_browsers',
'wp_cache_disable_utf8',
'wp_cache_clear_on_post_edit',
'wp_cache_front_page_checks',
'wp_cache_refresh_single_only',
'wp_supercache_cache_list',
'wp_cache_mutex_disabled',
'wp_super_cache_late_init',
'cache_page_secret',
'cache_path',
'cache_acceptable_files',
'wpsc_rejected_cookies',
'cache_rejected_uri',
'wp_cache_pages',
'cache_max_time',
'valid_nonce',
'super_cache_enabled',
'cache_schedule_type',
'cache_scheduled_time',
'cache_schedule_interval',
'cache_time_interval',
'cache_gc_email_me',
'wp_cache_mobile_prefixes',
'wp_cache_preload_on'
)
);
wpsc_edit_tracking_parameters();
wpsc_edit_rejected_ua();
wpsc_lockdown();
wpsc_restore_settings();
break;
case 'easy':
default:
wpsc_render_partial(
'easy',
array(
'admin_url' => $admin_url,
'cache_enabled' => $cache_enabled,
'is_nginx' => $is_nginx,
'wp_cache_mod_rewrite' => $wp_cache_mod_rewrite,
'valid_nonce' => $valid_nonce,
'cache_path' => $cache_path,
'wp_super_cache_comments' => $wp_super_cache_comments,
)
);
break;
}
?>
</fieldset>
</td><td valign='top' style='width: 300px'>
<!-- TODO: Hide #wpsc-callout from all pages except the Easy tab -->
<div class="wpsc-card" id="wpsc-callout">
<?php if ( ! empty( $wpsc_promo_links ) && is_array( $wpsc_promo_links ) ) : ?>
<h4><?php esc_html_e( 'Other Site Tools', 'wp-super-cache' ); ?></h4>
<ul style="list-style: square; margin-left: 2em;">
<li><a href="<?php echo esc_url( $wpsc_promo_links['boost'] ); ?>"><?php esc_html_e( 'Boost your page speed scores', 'wp-super-cache' ); ?></a></li>
<li><a href="<?php echo esc_url( $wpsc_promo_links['photon'] ); ?>"><?php esc_html_e( 'Speed up images and photos (free)', 'wp-super-cache' ); ?></a></li>
<li><a href="<?php echo esc_url( $wpsc_promo_links['videopress'] ); ?>"><?php esc_html_e( 'Fast video hosting (paid)', 'wp-super-cache' ); ?></a></li>
<li><a href="<?php echo esc_url( $wpsc_promo_links['crowdsignal'] ); ?>"><?php esc_html_e( 'Add Surveys and Polls to your site', 'wp-super-cache' ); ?></a></li>
</ul>
<?php endif; ?>
<h4><?php _e( 'Need Help?', 'wp-super-cache' ); ?></h4>
<ol>
<li><?php printf( __( 'Use the <a href="%1$s">Debug tab</a> for diagnostics.', 'wp-super-cache' ), admin_url( 'options-general.php?page=wpsupercache&tab=debug' ) ); ?></li>
<li>
<?php
echo wp_kses_post(
sprintf(
/* translators: %s is the URL for the documentation. */
__( 'Check out the <a href="%s">plugin documentation</a>.', 'wp-super-cache' ),
'https://jetpack.com/support/wp-super-cache/'
)
);
?>
</li>
<li>
<?php
echo wp_kses_post(
sprintf(
/* translators: %1$s is the URL for the support forum. */
__( 'Visit the <a href="%1$s">support forum</a>.', 'wp-super-cache' ),
'https://wordpress.org/support/plugin/wp-super-cache/'
)
);
?>
</li>
<li><?php printf( __( 'Try out the <a href="%1$s">development version</a> for the latest fixes (<a href="%2$s">changelog</a>).', 'wp-super-cache' ), 'https://odd.blog/y/2o', 'https://plugins.trac.wordpress.org/log/wp-super-cache/' ); ?></li>
</ol>
<h4><?php esc_html_e( 'Rate This Plugin', 'wp-super-cache' ); ?></h4>
<p><?php printf( __( 'Please <a href="%s">rate us</a> and give feedback.', 'wp-super-cache' ), 'https://wordpress.org/support/plugin/wp-super-cache/reviews?rate=5#new-post' ); ?></p>
<?php
if ( isset( $wp_supercache_cache_list ) && $wp_supercache_cache_list ) {
$start_date = get_option( 'wpsupercache_start' );
if ( ! $start_date ) {
$start_date = time();
}
?>
<p><?php printf( __( 'Cached pages since %1$s : <strong>%2$s</strong>', 'wp-super-cache' ), date( 'M j, Y', $start_date ), number_format( get_option( 'wpsupercache_count' ) ) ); ?></p>
<p><?php _e( 'Newest Cached Pages:', 'wp-super-cache' ); ?><ol>
<?php
foreach ( array_reverse( (array) get_option( 'supercache_last_cached' ) ) as $url ) {
$since = time() - strtotime( $url['date'] );
echo "<li><a title='" . sprintf( esc_html__( 'Cached %s seconds ago', 'wp-super-cache' ), (int) $since ) . "' href='" . site_url( $url['url'] ) . "'>" . substr( $url['url'], 0, 20 ) . "</a></li>\n";
}
?>
</ol>
<small><?php esc_html_e( '(may not always be accurate on busy sites)', 'wp-super-cache' ); ?></small>
</p><?php
} elseif ( false == get_option( 'wpsupercache_start' ) ) {
update_option( 'wpsupercache_start', time() );
update_option( 'wpsupercache_count', 0 );
}
?>
</div>
</td></table>
</div>
</div>
<?php wpsc_render_footer(); ?>
</div>
<?php
}