109
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1 |
<?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
2 |
/*
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
3 |
Plugin Name: WP Super Cache
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
4 |
Plugin URI: http://ocaoimh.ie/wp-super-cache/
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
5 |
Description: Very fast caching plugin for WordPress.
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
6 |
Version: 0.9.8
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
7 |
Author: Donncha O Caoimh
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
8 |
Author URI: http://ocaoimh.ie/
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
9 |
*/
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
10 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
11 |
/* Copyright 2005-2006 Ricardo Galli Granada (email : gallir@uib.es)
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
12 |
Copyright 2007-2009 Donncha O Caoimh (http://ocaoimh.ie/)
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
13 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
14 |
This program is free software; you can redistribute it and/or modify
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
15 |
it under the terms of the GNU General Public License as published by
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
16 |
the Free Software Foundation; either version 2 of the License, or
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
17 |
(at your option) any later version.
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
18 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
19 |
This program is distributed in the hope that it will be useful,
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
20 |
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
21 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
22 |
GNU General Public License for more details.
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
23 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
24 |
You should have received a copy of the GNU General Public License
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
25 |
along with this program; if not, write to the Free Software
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
26 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
27 |
*/
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
28 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
29 |
// Pre-2.6 compatibility
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
30 |
if( !defined('WP_CONTENT_URL') )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
31 |
define( 'WP_CONTENT_URL', get_option('siteurl') . '/wp-content');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
32 |
if( !defined('WP_CONTENT_DIR') )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
33 |
define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
34 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
35 |
$wp_cache_config_file = WP_CONTENT_DIR . '/wp-cache-config.php';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
36 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
37 |
if( !@include($wp_cache_config_file) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
38 |
get_wpcachehome();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
39 |
$wp_cache_config_file_sample = WPCACHEHOME . 'wp-cache-config-sample.php';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
40 |
@include($wp_cache_config_file_sample);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
41 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
42 |
get_wpcachehome();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
43 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
44 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
45 |
$wp_cache_config_file_sample = WPCACHEHOME . 'wp-cache-config-sample.php';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
46 |
$wp_cache_link = WP_CONTENT_DIR . '/advanced-cache.php';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
47 |
$wp_cache_file = WPCACHEHOME . 'advanced-cache.php';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
48 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
49 |
if( !defined( 'WP_CACHE' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
50 |
$wp_cache_check_wp_config = true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
51 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
52 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
53 |
include(WPCACHEHOME . 'wp-cache-base.php');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
54 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
55 |
function wp_super_cache_text_domain() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
56 |
load_plugin_textdomain( 'wp-super-cache', WPCACHEHOME . 'languages', basename( dirname( __FILE__ ) ) . '/languages' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
57 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
58 |
add_action( 'init', 'wp_super_cache_text_domain' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
59 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
60 |
// from legolas558 d0t users dot sf dot net at http://www.php.net/is_writable
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
61 |
function is_writeable_ACLSafe($path) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
62 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
63 |
// PHP's is_writable does not work with Win32 NTFS
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
64 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
65 |
if ($path{strlen($path)-1}=='/') // recursively return a temporary file path
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
66 |
return is_writeable_ACLSafe($path.uniqid(mt_rand()).'.tmp');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
67 |
else if (is_dir($path))
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
68 |
return is_writeable_ACLSafe($path.'/'.uniqid(mt_rand()).'.tmp');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
69 |
// check tmp file for read/write capabilities
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
70 |
$rm = file_exists($path);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
71 |
$f = @fopen($path, 'a');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
72 |
if ($f===false)
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
73 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
74 |
fclose($f);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
75 |
if (!$rm)
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
76 |
unlink($path);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
77 |
return true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
78 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
79 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
80 |
function get_wpcachehome() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
81 |
if( defined( 'WPCACHEHOME' ) == false ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
82 |
if( is_file( dirname(__FILE__) . '/wp-cache-config-sample.php' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
83 |
define( 'WPCACHEHOME', trailingslashit( dirname(__FILE__) ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
84 |
} elseif( is_file( dirname(__FILE__) . '/wp-super-cache/wp-cache-config-sample.php' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
85 |
define( 'WPCACHEHOME', dirname(__FILE__) . '/wp-super-cache/' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
86 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
87 |
die( sprintf( __( 'Please create %s /wp-cache-config.php from wp-super-cache/wp-cache-config-sample.php', 'wp-super-cache' ), WP_CONTENT_DIR ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
88 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
89 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
90 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
91 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
92 |
function wpsupercache_deactivate() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
93 |
global $wp_cache_config_file, $wp_cache_link, $cache_path;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
94 |
$files = array( $wp_cache_config_file, $wp_cache_link );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
95 |
foreach( $files as $file ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
96 |
if( file_exists( $file ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
97 |
unlink( $file );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
98 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
99 |
if( !function_exists( 'prune_super_cache' ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
100 |
include_once( 'wp-cache-phase2.php' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
101 |
prune_super_cache ($cache_path, true);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
102 |
@unlink( $cache_path . '.htaccess' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
103 |
@unlink( $cache_path . 'meta' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
104 |
@unlink( $cache_path . 'supercache' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
105 |
wp_clear_scheduled_hook( 'wp_cache_check_site_hook' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
106 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
107 |
register_deactivation_hook( __FILE__, 'wpsupercache_deactivate' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
108 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
109 |
function wpsupercache_activate() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
110 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
111 |
register_activation_hook( __FILE__, 'wpsupercache_activate' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
112 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
113 |
function wp_cache_add_pages() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
114 |
if( function_exists( 'is_site_admin' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
115 |
if( is_site_admin() ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
116 |
add_submenu_page('wpmu-admin.php', 'WP Super Cache', 'WP Super Cache', 'manage_options', 'wpsupercache', 'wp_cache_manager');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
117 |
add_options_page('WP Super Cache', 'WP Super Cache', 'manage_options', 'wpsupercache', 'wp_cache_manager');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
118 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
119 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
120 |
add_options_page('WP Super Cache', 'WP Super Cache', 'manage_options', 'wpsupercache', 'wp_cache_manager');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
121 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
122 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
123 |
add_action('admin_menu', 'wp_cache_add_pages');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
124 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
125 |
function wp_cache_manager() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
126 |
global $wp_cache_config_file, $valid_nonce, $supercachedir, $cache_path, $cache_enabled, $cache_compression, $super_cache_enabled, $wp_cache_hello_world;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
127 |
global $wp_cache_clear_on_post_edit, $cache_rebuild_files, $wp_cache_mutex_disabled, $wp_cache_mobile_enabled, $wp_cache_mobile_whitelist, $wp_cache_mobile_browsers;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
128 |
global $wp_cache_cron_check, $wp_cache_debug, $wp_cache_hide_donation, $wp_cache_not_logged_in, $wp_supercache_cache_list;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
129 |
global $wp_super_cache_front_page_check;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
130 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
131 |
if( function_exists( 'is_site_admin' ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
132 |
if( !is_site_admin() )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
133 |
return;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
134 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
135 |
$supercachedir = $cache_path . 'supercache/' . preg_replace('/:.*$/', '', $_SERVER["HTTP_HOST"]);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
136 |
if( get_option( 'gzipcompression' ) == 1 )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
137 |
update_option( 'gzipcompression', 0 );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
138 |
if( !isset( $cache_rebuild_files ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
139 |
$cache_rebuild_files = 0;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
140 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
141 |
$valid_nonce = isset($_REQUEST['_wpnonce']) ? wp_verify_nonce($_REQUEST['_wpnonce'], 'wp-cache') : false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
142 |
/* http://www.netlobo.com/div_hiding.html */
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
143 |
?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
144 |
<script type='text/javascript'>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
145 |
<!--
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
146 |
function toggleLayer( whichLayer ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
147 |
var elem, vis;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
148 |
if( document.getElementById ) // this is the way the standards work
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
149 |
elem = document.getElementById( whichLayer );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
150 |
else if( document.all ) // this is the way old msie versions work
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
151 |
elem = document.all[whichLayer];
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
152 |
else if( document.layers ) // this is the way nn4 works
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
153 |
elem = document.layers[whichLayer];
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
154 |
vis = elem.style;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
155 |
// if the style.display value is blank we try to figure it out here
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
156 |
if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
157 |
vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
158 |
vis.display = (vis.display==''||vis.display=='block')?'none':'block';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
159 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
160 |
// -->
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
161 |
//Clicking header opens fieldset options
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
162 |
jQuery(document).ready(function(){
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
163 |
jQuery("fieldset h3").css("cursor","pointer").click(function(){
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
164 |
jQuery(this).parent("fieldset").find("p,form,ul,blockquote").toggle("slow");
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
165 |
});
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
166 |
});
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
167 |
</script>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
168 |
<?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
169 |
echo '<div class="wrap">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
170 |
echo "<h2><a href='?page=wpsupercache'>" . __( 'WP Super Cache Manager', 'wp-super-cache' ) . "</a></h2>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
171 |
if( 1 == ini_get( 'safe_mode' ) || "on" == strtolower( ini_get( 'safe_mode' ) ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
172 |
?><h3><?php _e( 'Warning! PHP Safe Mode Enabled!', 'wp-super-cache' ); ?></h3>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
173 |
<p><?php _e( 'You may experience problems running this plugin because SAFE MODE is enabled.', 'wp-super-cache' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
174 |
if( !ini_get( 'safe_mode_gid' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
175 |
echo __( 'Your server is set up to check the owner of PHP scripts before allowing them to read and write files.', 'wp-super-cache' ) . "</p><p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
176 |
echo sprintf( __( 'You or an administrator may be able to make it work by changing the group owner of the plugin scripts to match that of the web server user. The group owner of the %s/cache/ directory must also be changed. See the <a href="http://php.net/features.safe-mode">safe mode manual page</a> for further details.', 'wp-super-cache' ), WP_CONTENT_DIR ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
177 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
178 |
echo __( 'You or an administrator must disable this. See the <a href="http://php.net/features.safe-mode">safe mode manual page</a> for further details. This cannot be disabled in a .htaccess file unfortunately. It must be done in the php.ini config file.', 'wp-super-cache' ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
179 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
180 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
181 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
182 |
if ( isset( $wp_super_cache_front_page_check ) && $wp_super_cache_front_page_check == 1 && !wp_next_scheduled( 'wp_cache_check_site_hook' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
183 |
wp_schedule_single_event( time() + 360 , 'wp_cache_check_site_hook' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
184 |
if ( isset( $GLOBALS[ 'wp_super_cache_debug' ] ) && $GLOBALS[ 'wp_super_cache_debug' ] ) wp_cache_debug( 'scheduled wp_cache_check_site_hook for 360 seconds time.', 2 );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
185 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
186 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
187 |
if(isset($_REQUEST['wp_restore_config']) && $valid_nonce) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
188 |
unlink($wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
189 |
echo '<strong>' . __( 'Configuration file changed, some values might be wrong. Load the page again from the "Settings" menu to reset them.', 'wp-super-cache' ) . '</strong>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
190 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
191 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
192 |
if ( !wp_cache_check_link() ||
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
193 |
!wp_cache_verify_config_file() ||
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
194 |
!wp_cache_verify_cache_dir() ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
195 |
echo '<p>' . __( "Cannot continue... fix previous problems and retry.", 'wp-super-cache' ) . '</p>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
196 |
echo "</div>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
197 |
return;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
198 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
199 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
200 |
if (!wp_cache_check_global_config()) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
201 |
echo "</div>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
202 |
return;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
203 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
204 |
if( $wp_cache_debug || !$wp_cache_cron_check ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
205 |
if( function_exists( "wp_remote_get" ) == false ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
206 |
$hostname = str_replace( 'http://', '', str_replace( 'https://', '', get_option( 'siteurl' ) ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
207 |
if( strpos( $hostname, '/' ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
208 |
$hostname = substr( $hostname, 0, strpos( $hostname, '/' ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
209 |
$ip = gethostbyname( $hostname );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
210 |
if( substr( $ip, 0, 3 ) == '127' || substr( $ip, 0, 7 ) == '192.168' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
211 |
?><h3><?php printf( __( 'Warning! Your hostname "%s" resolves to %s', 'wp-super-cache' ), $hostname, $ip ); ?></h3>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
212 |
<div style='padding:0 8px;color:#9f6000;background-color:#feefb3;border:1px solid #9f6000;'>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
213 |
<p><?php printf( __( 'Your server thinks your hostname resolves to %s. Some services such as garbage collection by this plugin, and WordPress scheduled posts may not operate correctly.', 'wp-super-cache' ), $ip ); ?></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
214 |
<p><?php printf( __( 'Please see entry 16 in the <a href="%s">Troubleshooting section</a> of the readme.txt', 'wp-super-cache' ), 'http://wordpress.org/extend/plugins/wp-super-cache/faq/' ); ?></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
215 |
</div>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
216 |
<?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
217 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
218 |
wp_cache_replace_line('^ *\$wp_cache_cron_check', "\$wp_cache_cron_check = 1;", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
219 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
220 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
221 |
$cron_url = get_option( 'siteurl' ) . '/wp-cron.php?check=' . wp_hash('187425');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
222 |
$cron = wp_remote_get($cron_url, array('timeout' => 0.01, 'blocking' => true));
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
223 |
if( is_array( $cron ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
224 |
if( $cron[ 'response' ][ 'code' ] == '404' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
225 |
?><h3>Warning! wp-cron.php not found!</h3>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
226 |
<div style='padding:0 8px;color:#9f6000;background-color:#feefb3;border:1px solid #9f6000;'>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
227 |
<p><?php _e( 'Unfortunately WordPress cannot find the file wp-cron.php. This script is required for the the correct operation of garbage collection by this plugin, WordPress scheduled posts as well as other critical activities.', 'wp-super-cache' ); ?></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
228 |
<p><?php printf( __( 'Please see entry 16 in the <a href="%s">Troubleshooting section</a> of the readme.txt', 'wp-super-cache' ), 'http://wordpress.org/extend/plugins/wp-super-cache/faq/' ); ?></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
229 |
</div>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
230 |
<?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
231 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
232 |
wp_cache_replace_line('^ *\$wp_cache_cron_check', "\$wp_cache_cron_check = 1;", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
233 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
234 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
235 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
236 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
237 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
238 |
if( $cache_enabled == true && $super_cache_enabled == true && !got_mod_rewrite() ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
239 |
?><h4 style='color: #a00'><?php _e( 'Mod rewrite may not be installed!', 'wp-super-cache' ); ?></h4>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
240 |
<p><?php _e( 'It appears that mod_rewrite is not installed. Sometimes this check isn’t 100% reliable, especially if you are not using Apache. Please verify that the mod_rewrite module is loaded. It is required for serving Super Cache static files. You will still be able to use half-on mode.', 'wp-super-cache' ); ?></p><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
241 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
242 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
243 |
if( !is_writeable_ACLSafe($wp_cache_config_file) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
244 |
define( "SUBMITDISABLED", 'disabled style="color: #aaa" ' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
245 |
?><h4 style='text-align:center; color: #a00'><?php _e( 'Read Only Mode. Configuration cannot be changed.', 'wp-super-cache' ); ?> <a href="javascript:toggleLayer('readonlywarning');" title="<?php _e( 'Why your configuration may not be changed', 'wp-super-cache' ); ?>"><?php _e( 'Why', 'wp-super-cache' ); ?></a></h4>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
246 |
<div id='readonlywarning' style='border: 1px solid #aaa; margin: 2px; padding: 2px; display: none;'>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
247 |
<p><?php printf( __( 'The WP Super Cache configuration file is <code>%s/wp-cache-config.php</code> and cannot be modified. That file must be writeable by the webserver to make any changes.', 'wp-super-cache' ), WP_CONTENT_DIR ); ?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
248 |
<?php _e( 'A simple way of doing that is by changing the permissions temporarily using the CHMOD command or through your ftp client. Make sure it’s globally writeable and it should be fine.', 'wp-super-cache' ); ?></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
249 |
<?php _e( 'Writeable:', 'wp-super-cache' ); ?> <code>chmod 666 <?php echo WP_CONTENT_DIR; ?>/wp-cache-config.php</code>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
250 |
<?php _e( 'Readonly:', 'wp-super-cache' ); ?> <code>chmod 644 <?php echo WP_CONTENT_DIR; ?>/wp-cache-config.php</code></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
251 |
</div><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
252 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
253 |
define( "SUBMITDISABLED", ' ' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
254 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
255 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
256 |
// Server could be running as the owner of the wp-content directory. Therefore, if it's
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
257 |
// writable, issue a warning only if the permissions aren't 755.
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
258 |
if( is_writeable_ACLSafe( WP_CONTENT_DIR . '/' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
259 |
$wp_content_stat = stat(WP_CONTENT_DIR . '/');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
260 |
$wp_content_mode = ($wp_content_stat['mode'] & 0777);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
261 |
if( $wp_content_mode != 0755 ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
262 |
?><h4 style='text-align:center; color: #a00'><?php printf( __( 'Warning! %s is writeable!', 'wp-super-cache' ), WP_CONTENT_DIR ); ?></h4>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
263 |
<p><?php printf( __( 'You should change the permissions on %s and make it more restrictive. Use your ftp client, or the following command to fix things:', 'wp-super-cache' ), WP_CONTENT_DIR ); ?><code>chmod 755 <?php echo WP_CONTENT_DIR; ?>/</code></p><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
264 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
265 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
266 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
267 |
if ( $valid_nonce ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
268 |
if( isset( $_POST[ 'wp_cache_status' ] ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
269 |
if( isset( $_POST[ 'wp_cache_mobile_enabled' ] ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
270 |
$wp_cache_mobile_enabled = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
271 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
272 |
$wp_cache_mobile_enabled = 0;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
273 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
274 |
if( $wp_cache_mobile_enabled == 1 ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
275 |
if( !isset( $wp_cache_mobile_whitelist ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
276 |
wp_cache_replace_line('^ *\$wp_cache_mobile_whitelist', "\$wp_cache_mobile_whitelist = 'Stand Alone/QNws';", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
277 |
if( false == isset( $wp_cache_mobile_browsers ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
278 |
wp_cache_replace_line('^ *\$wp_cache_mobile_browsers', "\$wp_cache_mobile_browsers = 'Android, 2.0 MMP, 240x320, AvantGo, BlackBerry, Blazer, Cellphone, Danger, DoCoMo, Elaine/3.0, EudoraWeb, hiptop, IEMobile, iPhone, iPod, KYOCERA/WX310K, LG/U990, MIDP-2.0, MMEF20, MOT-V, NetFront, Newt, Nintendo Wii, Nitro, Nokia, Opera Mini, Palm, Playstation Portable, portalmmm, Proxinet, ProxiNet, SHARP-TQ-GX10, Small, SonyEricsson, Symbian OS, SymbianOS, TS21i-10, UP.Browser, UP.Link, Windows CE, WinWAP';", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
279 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
280 |
wp_cache_replace_line('^ *\$wp_cache_mobile_enabled', "\$wp_cache_mobile_enabled = " . $wp_cache_mobile_enabled . ";", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
281 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
282 |
$wp_supercache_cache_list = $_POST[ 'wp_supercache_cache_list' ] == 1 ? 1 : 0;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
283 |
wp_cache_replace_line('^ *\$wp_supercache_cache_list', "\$wp_supercache_cache_list = " . $wp_supercache_cache_list . ";", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
284 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
285 |
switch( $_POST[ 'wp_cache_status' ] ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
286 |
case 'all':
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
287 |
wp_cache_enable();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
288 |
break;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
289 |
case 'none':
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
290 |
wp_cache_disable();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
291 |
break;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
292 |
case 'wpcache':
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
293 |
wp_cache_enable();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
294 |
wp_super_cache_disable();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
295 |
break;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
296 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
297 |
if( isset( $_POST[ 'wp_cache_hello_world' ] ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
298 |
$wp_cache_hello_world = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
299 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
300 |
$wp_cache_hello_world = 0;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
301 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
302 |
wp_cache_replace_line('^ *\$wp_cache_hello_world', '$wp_cache_hello_world = ' . (int)$wp_cache_hello_world . ";", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
303 |
if( isset( $_POST[ 'wp_cache_clear_on_post_edit' ] ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
304 |
$wp_cache_clear_on_post_edit = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
305 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
306 |
$wp_cache_clear_on_post_edit = 0;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
307 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
308 |
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);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
309 |
if( isset( $_POST[ 'cache_rebuild_files' ] ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
310 |
$cache_rebuild_files = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
311 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
312 |
$cache_rebuild_files = 0;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
313 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
314 |
wp_cache_replace_line('^ *\$cache_rebuild_files', "\$cache_rebuild_files = " . $cache_rebuild_files . ";", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
315 |
if( isset( $_POST[ 'wp_cache_mutex_disabled' ] ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
316 |
$wp_cache_mutex_disabled = 0;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
317 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
318 |
$wp_cache_mutex_disabled = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
319 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
320 |
if( defined( 'WPSC_DISABLE_LOCKING' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
321 |
$wp_cache_mutex_disabled = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
322 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
323 |
wp_cache_replace_line('^ *\$wp_cache_mutex_disabled', "\$wp_cache_mutex_disabled = " . $wp_cache_mutex_disabled . ";", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
324 |
if( isset( $_POST[ 'wp_cache_not_logged_in' ] ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
325 |
if( $wp_cache_not_logged_in == 0 && function_exists( 'prune_super_cache' ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
326 |
prune_super_cache ($cache_path, true);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
327 |
$wp_cache_not_logged_in = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
328 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
329 |
$wp_cache_not_logged_in = 0;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
330 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
331 |
wp_cache_replace_line('^ *\$wp_cache_not_logged_in', "\$wp_cache_not_logged_in = " . $wp_cache_not_logged_in . ";", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
332 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
333 |
if( defined( 'WPSC_DISABLE_COMPRESSION' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
334 |
$cache_compression_changed = false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
335 |
$cache_compression = 0;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
336 |
wp_cache_replace_line('^ *\$cache_compression', "\$cache_compression = " . $cache_compression . ";", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
337 |
} elseif( isset( $_POST[ 'cache_compression' ] ) && $_POST[ 'cache_compression' ] != $cache_compression ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
338 |
$cache_compression_changed = true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
339 |
$cache_compression = intval( $_POST[ 'cache_compression' ] );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
340 |
wp_cache_replace_line('^ *\$cache_compression', "\$cache_compression = " . $cache_compression . ";", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
341 |
if( function_exists( 'prune_super_cache' ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
342 |
prune_super_cache ($cache_path, true);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
343 |
delete_option( 'super_cache_meta' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
344 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
345 |
if( isset( $_POST[ 'wp_cache_hide_donation' ] ) && $_POST[ 'wp_cache_hide_donation' ] != $wp_cache_hide_donation ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
346 |
$wp_cache_hide_donation = intval( $_POST[ 'wp_cache_hide_donation' ] );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
347 |
wp_cache_replace_line('^ *\$wp_cache_hide_donation', "\$wp_cache_hide_donation = " . $wp_cache_hide_donation . ";", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
348 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
349 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
350 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
351 |
echo '<a name="top"></a>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
352 |
?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
353 |
<table><td><fieldset class="options" id="show-this-fieldset">
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
354 |
<h3><?php _e( 'WP Super Cache Status', 'wp-super-cache' ); ?></h3><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
355 |
echo '<form name="wp_manager" action="#top" method="post">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
356 |
?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
357 |
<label><input type='radio' name='wp_cache_status' value='all' <?php if( $cache_enabled == true && $super_cache_enabled == true ) { echo 'checked=checked'; } ?>> <strong><?php _e( 'ON', 'wp-super-cache' ); ?></strong> <span class="setting-description"><?php _e( 'WP Cache and Super Cache enabled', 'wp-super-cache' ); ?></span></label><br />
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
358 |
<label><input type='radio' name='wp_cache_status' value='wpcache' <?php if( $cache_enabled == true && $super_cache_enabled == false ) { echo 'checked=checked'; } ?>> <strong><?php _e( 'HALF ON', 'wp-super-cache' ); ?></strong> <span class="setting-description"><?php _e( 'Super Cache Disabled, only legacy WP-Cache caching.', 'wp-super-cache' ); ?></span></label><br />
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
359 |
<label><input type='radio' name='wp_cache_status' value='none' <?php if( $cache_enabled == false ) { echo 'checked=checked'; } ?>> <strong><?php _e( 'OFF', 'wp-super-cache' ); ?></strong> <span class="setting-description"><?php _e( 'WP Cache and Super Cache disabled', 'wp-super-cache' ); ?></span></label><br />
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
360 |
<p><label><input type='checkbox' name='wp_cache_not_logged_in' <?php if( $wp_cache_not_logged_in ) echo "checked"; ?> value='1'> <?php _e( 'Don’t cache pages for logged in users.', 'wp-super-cache' ); ?></label></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
361 |
<p><label><input type='checkbox' name='wp_cache_hello_world' <?php if( $wp_cache_hello_world ) echo "checked"; ?> value='1'> <?php _e( 'Proudly tell the world your server is Digg proof! (places a message in your blog’s footer)', 'wp-super-cache' ); ?></label></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
362 |
<p><label><input type='checkbox' name='wp_cache_clear_on_post_edit' <?php if( $wp_cache_clear_on_post_edit ) echo "checked"; ?> value='1'> <?php _e( 'Clear all cache files when a post or page is published. (This may significantly slow down saving of posts.)', 'wp-super-cache' ); ?></label></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
363 |
<p><label><input type='checkbox' name='cache_rebuild_files' <?php if( $cache_rebuild_files ) echo "checked"; ?> value='1'> <?php _e( 'Cache rebuild. Serve a supercache file to anonymous users while a new file is being generated. Recommended for <em>very</em> busy websites with lots of comments. Makes "directly cached pages" and "Lockdown mode" obsolete.', 'wp-super-cache' ); ?></label></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
364 |
<?php if( false == defined( 'WPSC_DISABLE_LOCKING' ) ) { ?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
365 |
<p><label><input type='checkbox' name='wp_cache_mutex_disabled' <?php if( !$wp_cache_mutex_disabled ) echo "checked"; ?> value='0'> <?php _e( 'Coarse file locking. You probably don’t need this but it may help if your server is underpowered. Warning! <em>May cause your server to lock up in very rare cases!</em>', 'wp-super-cache' ); ?></label></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
366 |
<?php } ?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
367 |
<p><label><input type='checkbox' name='wp_supercache_cache_list' <?php if( $wp_supercache_cache_list ) echo "checked"; ?> value='1'> <?php _e( 'List the newest cached pages (may be expensive to run on busy sites, use with caution.)', 'wp-super-cache' ); ?></label>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
368 |
<p><label><input type='checkbox' name='wp_cache_mobile_enabled' <?php if( $wp_cache_mobile_enabled ) echo "checked"; ?> value='1'> <?php _e( 'Mobile device support.', 'wp-super-cache' ); ?></label>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
369 |
<?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
370 |
$home_path = trailingslashit( get_home_path() );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
371 |
$scrules = implode( "\n", extract_from_markers( $home_path.'.htaccess', 'WPSuperCache' ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
372 |
if ( !$wp_cache_mobile_enabled && strpos( $scrules, '240x320|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
373 |
echo "<blockquote style='background-color:#feefb3; padding: 5px; margin: 5px;'><h4>" . __( 'Mobile rewrite rules detected', 'wp-super-cache' ) . "</h4>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
374 |
echo "<p>" . __( 'For best performance you should enable "Mobile device support" or delete the mobile rewrite rules in your .htaccess. Look for the 2 lines with the text "Android|2.0\ MMP|240x320|AvantGo|BlackBerry|Blazer|Cellphone" and delete those.', 'wp-super-cache' ) . "</p><p>" . __( 'This will have no affect on ordinary users but mobile users will see uncached pages.', 'wp-super-cache' ) . "</p></blockquote>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
375 |
} elseif ( $wp_cache_mobile_enabled && $scrules != '' && false === strpos( $scrules, '240x320|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
376 |
?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
377 |
<blockquote style='background-color:#fefeb3; padding: 5px; margin: 5px;'><p><?php _e( 'Mobile support requires extra rules in your .htaccess file, or you can set the plugin to half-on mode. Here are your options (in order of difficulty):', 'wp-super-cache' ); ?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
378 |
<ol><li> 1. <?php _e( 'Set the plugin to half on mode and enable mobile support.', 'wp-super-cache' ); ?></li>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
379 |
<li> 2. <?php printf( __( 'Delete the plugin mod_rewrite rules in %s.htaccess enclosed by <code># BEGIN WPSuperCache</code> and <code># END WPSuperCache</code> and let the plugin regenerate them by reloading this page.', 'wp-super-cache' ), $home_path ); ?></li>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
380 |
<li> 3. <?php printf( __( 'Add the rules yourself. Edit %s.htaccess and find the block of code enclosed by the lines <code># BEGIN WPSuperCache</code> and <code># END WPSuperCache</code>. There are two sections that look very similar. Just below the line <code>%{HTTP:Cookie} !^.*(comment_author_|wordpress|wp-postpass_).*$</code> add this line: (do it twice, once for each section)', 'wp-super-cache' ), $home_path ); ?></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
381 |
<div style='padding: 2px; margin: 2px; border: 1px solid #333; width:400px; overflow: scroll'><pre>RewriteCond %{HTTP_user_agent} !^.*(Android|2.0\ MMP|240x320|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|hiptop|IEMobile|iPhone|iPod|KYOCERA/WX310K|LG/U990|MIDP-2.0|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|Playstation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|Windows\ CE|WinWAP).*</pre></div></li></ol></blockquote>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
382 |
<?php } ?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
383 |
<p><strong><?php _e( 'Note:', 'wp-super-cache' ); ?></strong> <?php printf( __( 'If uninstalling this plugin, make sure the directory <em>%s</em> is writeable by the webserver so the files <em>advanced-cache.php</em> and <em>cache-config.php</em> can be deleted automatically. (Making sure those files are writeable too is probably a good idea!)', 'wp-super-cache' ), WP_CONTENT_DIR ); ?></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
384 |
<p><?php printf( __( 'Uninstall using the <a href="%1$s/wp-super-cache/uninstall.php">uninstall script</a> to remove files and directories created by the plugin. (Please see <a href="%1$s/wp-super-cache/readme.txt">readme.txt</a> for instructions on uninstalling this script.)', 'wp-super-cache' ), WP_PLUGIN_URL ); ?></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
385 |
<?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
386 |
echo "<div class='submit'><input type='submit' " . SUBMITDISABLED . " value='" . __( 'Update Status', 'wp-super-cache' ) . " »' /></div>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
387 |
wp_nonce_field('wp-cache');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
388 |
?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
389 |
</form>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
390 |
<?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
391 |
if( $super_cache_enabled && function_exists( 'apache_get_modules' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
392 |
$mods = apache_get_modules();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
393 |
$required_modules = array( 'mod_mime' => __( 'Required to serve compressed supercache files properly.', 'wp-super-cache' ), 'mod_headers' => __( 'Required to set caching information on supercache pages. IE7 users will see old pages without this module.', 'wp-super-cache' ), 'mod_expires' => __( 'Set the expiry date on supercached pages. Visitors may not see new pages when they refresh or leave comments without this module.', 'wp-super-cache' ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
394 |
foreach( $required_modules as $req => $desc ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
395 |
if( !in_array( $req, $mods ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
396 |
$missing_mods[ $req ] = $desc;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
397 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
398 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
399 |
if( isset( $missing_mods) && is_array( $missing_mods ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
400 |
echo "<h3>" . __( 'Missing Apache Modules', 'wp-super-cache' ) . "</h3>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
401 |
echo "<p>" . __( 'The following Apache modules are missing. The plugin will work in half-on mode without them. In full Supercache mode, your visitors may see corrupted pages or out of date content however.', 'wp-super-cache' ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
402 |
echo "<ul>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
403 |
foreach( $missing_mods as $req => $desc ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
404 |
echo "<li> $req - $desc</li>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
405 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
406 |
echo "</ul>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
407 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
408 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
409 |
?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
410 |
</fieldset>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
411 |
</td><td valign='top'>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
412 |
<div style='background: #ffc; border: 1px solid #333; margin: 2px; padding: 5px'>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
413 |
<h3 align='center'><?php _e( 'Make WordPress Faster', 'wp-super-cache' ); ?></h3>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
414 |
<?php if( $wp_cache_hide_donation != 1 ) { ?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
415 |
<p><?php printf( __( '%1$s really makes your blog go faster. Make it go faster<sup>*</sup> by buying me an <a href="%2$s">Amazon gift card</a>! Make it out to "%3$s" for whatever amount you want. Every penny helps!', 'wp-super-cache' ), '<a href="http://ocaoimh.ie/wp-super-cache/?r=wpsc">WP Super Cache</a>', 'http://ocaoimh.ie/agc', 'donncha@ocaoimh.ie' ) ?>;</p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
416 |
<p><?php printf( __( 'If Amazon isn’t your thing, there’s also PayPal. Click the "Donate" button below or take a quick peek at my <a href="%s">wishlist</a>.', 'wp-super-cache' ), 'http://ocaoimh.ie/wish' ); ?></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
417 |
<p><?php _e( 'Thanks in advance!', 'wp-super-cache' ); ?><br />Donncha<br />
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
418 |
<small>* <?php _e( 'Ok, it won’t go any faster but you’ll make this plugin author very happy!', 'wp-super-cache' ); ?></small></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
419 |
<div align='center'>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
420 |
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
421 |
<input type="hidden" name="cmd" value="_s-xclick"/>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
422 |
<input type="hidden" name="hosted_button_id" value="3244504"/>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
423 |
<input type="image" src="https://www.paypal.com/en_GB/i/btn/btn_donate_SM.gif" border="0" name="submit" alt=""/>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
424 |
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"/><br />
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
425 |
</form>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
426 |
<p><?php _e( 'Don’t show me this again.', 'wp-super-cache' ); ?> <form action="#top" method="post"><input type='hidden' name='wp_cache_hide_donation' value='1' /><input type='submit' value='<?php _e( 'Hide', 'wp-super-cache' ); ?>' /><?php wp_nonce_field('wp-cache'); ?></form></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
427 |
</div>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
428 |
<?php } else { ?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
429 |
<p><?php printf( __( '%1$s is maintained and developed by %2$s with contributions from many others.', 'wp-super-cache' ), '<a href="http://ocaoimh.ie/wp-super-cache/?r=supercache">WP Super Cache</a>', '<a href="http://ocaoimh.ie/?r=supercache">Donncha O Caoimh</a>' ); ?></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
430 |
<p><?php printf( __( 'He blogs at %1$s, posts photos at %2$s and <a href="%3$s">wishes</a> he had more time to read and relax.', 'wp-super-cache' ), '<a href="http://ocaoimh.ie/?r=supercache">Holy Shmoly</a>', '<a href="http://inphotos.org/?r=supercache">In Photos.org</a>', 'http://ocaoimh.ie/gad' ); ?></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
431 |
<p><?php printf( __( 'Please say hi to him on %s too!', 'wp-super-cache' ), '<a href="http://twitter.com/donncha/">Twitter</a>' ); ?></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
432 |
<?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
433 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
434 |
if ( isset( $wp_supercache_cache_list ) && $wp_supercache_cache_list ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
435 |
$start_date = get_option( 'wpsupercache_start' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
436 |
if ( !$start_date ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
437 |
$start_date = time();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
438 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
439 |
?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
440 |
<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>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
441 |
<p><?php _e( 'Newest Cached Pages:', 'wp-super-cache' ); ?><ol>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
442 |
<?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
443 |
foreach( array_reverse( (array)get_option( 'supercache_last_cached' ) ) as $url ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
444 |
$since = time() - strtotime( $url[ 'date' ] );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
445 |
echo "<li><a title='" . sprintf( __( 'Cached %s seconds ago', 'wp-super-cache' ), $since ) . "' href='" . site_url( $url[ 'url' ] ) . "'>{$url[ 'url' ]}</a></li>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
446 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
447 |
?></ol>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
448 |
<small><?php _e( '(may not always be accurate on busy sites)', 'wp-super-cache' ); ?></small>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
449 |
</p><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
450 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
451 |
$start_date = get_option( 'wpsupercache_start' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
452 |
if ( $start_date ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
453 |
update_option( 'wpsupercache_start', $start_date );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
454 |
update_option( 'wpsupercache_count', 0 );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
455 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
456 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
457 |
?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
458 |
</div>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
459 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
460 |
</td></table>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
461 |
<?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
462 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
463 |
wp_cache_files();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
464 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
465 |
wsc_mod_rewrite();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
466 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
467 |
wp_cache_edit_max_time();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
468 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
469 |
echo '<a name="files"></a><fieldset class="options"><h3>' . __( 'Accepted Filenames & Rejected URIs', 'wp-super-cache' ) . '</h3>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
470 |
wp_cache_edit_rejected_pages();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
471 |
echo "\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
472 |
wp_cache_edit_rejected();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
473 |
echo "\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
474 |
wp_cache_edit_accepted();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
475 |
echo '</fieldset>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
476 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
477 |
wp_cache_edit_rejected_ua();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
478 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
479 |
wp_cache_debug_settings();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
480 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
481 |
wp_lock_down();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
482 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
483 |
wp_cache_restore();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
484 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
485 |
ob_start();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
486 |
if( defined( 'WP_CACHE' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
487 |
if( function_exists( 'do_cacheaction' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
488 |
do_cacheaction( 'cache_admin_page' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
489 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
490 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
491 |
$out = ob_get_contents();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
492 |
ob_end_clean();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
493 |
if( SUBMITDISABLED == ' ' && $out != '' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
494 |
echo '<fieldset class="options"><h3>' . __( 'Cache Plugins', 'wp-super-cache' ) . '</h3>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
495 |
echo $out;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
496 |
echo '</fieldset>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
497 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
498 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
499 |
echo "</div>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
500 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
501 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
502 |
function wsc_mod_rewrite() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
503 |
global $cache_enabled, $super_cache_enabled, $cache_compression, $cache_compression_changed, $valid_nonce, $cache_path;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
504 |
if( $super_cache_enabled == false && $cache_enabled == true ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
505 |
?><h3><?php _e( 'Super Cache Compression', 'wp-super-cache' ); ?></h3>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
506 |
<p><?php _e( 'Compression is enabled by default when in <em>HALF ON</em> mode.', 'wp-super-cache' ); ?></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
507 |
<?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
508 |
return;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
509 |
} elseif ( $super_cache_enabled == false ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
510 |
return;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
511 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
512 |
if( false == defined( 'WPSC_DISABLE_COMPRESSION' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
513 |
?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
514 |
<a name='rewrite'></a>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
515 |
<fieldset class="options">
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
516 |
<h3><?php _e( 'Super Cache Compression', 'wp-super-cache' ); ?></h3>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
517 |
<form name="wp_manager" action="#rewrite" method="post">
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
518 |
<label><input type="radio" name="cache_compression" value="1" <?php if( $cache_compression ) { echo "checked=checked"; } ?>> <?php _e( 'Enabled', 'wp-super-cache' ); ?></label>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
519 |
<label><input type="radio" name="cache_compression" value="0" <?php if( !$cache_compression ) { echo "checked=checked"; } ?>> <?php _e( 'Disabled', 'wp-super-cache' ); ?></label>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
520 |
<p><?php _e( 'Compression is disabled by default because some hosts have problems with compressed files. Switching this on and off clears the cache.', 'wp-super-cache' ); ?></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
521 |
<?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
522 |
if( isset( $cache_compression_changed ) && isset( $_POST[ 'cache_compression' ] ) && !$cache_compression ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
523 |
?><p><strong><?php _e( 'Super Cache compression is now disabled.', 'wp-super-cache' ); ?></strong></p> <?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
524 |
} elseif( isset( $cache_compression_changed ) && isset( $_POST[ 'cache_compression' ] ) && $cache_compression ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
525 |
?><p><strong><?php _e( 'Super Cache compression is now enabled.', 'wps-uper-cache' ); ?></strong></p><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
526 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
527 |
echo '<div class="submit"><input ' . SUBMITDISABLED . 'type="submit" value="' . __( 'Update Compression', 'wp-super-cache' ) . ' »" /></div>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
528 |
wp_nonce_field('wp-cache');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
529 |
echo "</form>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
530 |
?></fieldset>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
531 |
<?php } ?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
532 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
533 |
<a name="modrewrite"></a><fieldset class="options">
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
534 |
<h3><?php _e( 'Mod Rewrite Rules', 'wp-super-cache' ); ?></h3><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
535 |
if ( isset( $_SERVER[ "PHP_DOCUMENT_ROOT" ] ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
536 |
$document_root = $_SERVER[ "PHP_DOCUMENT_ROOT" ];
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
537 |
$apache_root = $_SERVER[ "PHP_DOCUMENT_ROOT" ];
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
538 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
539 |
$document_root = $_SERVER[ "DOCUMENT_ROOT" ];
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
540 |
$apache_root = '%{DOCUMENT_ROOT}';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
541 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
542 |
$home_path = get_home_path();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
543 |
$home_root = parse_url(get_bloginfo('url'));
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
544 |
$home_root = isset( $home_root['path'] ) ? trailingslashit( $home_root['path'] ) : '/';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
545 |
$inst_root = str_replace( '//', '/', '/' . trailingslashit( str_replace( $document_root, '', str_replace( '\\', '/', WP_CONTENT_DIR ) ) ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
546 |
$wprules = implode( "\n", extract_from_markers( $home_path.'.htaccess', 'WordPress' ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
547 |
$wprules = str_replace( "RewriteEngine On\n", '', $wprules );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
548 |
$wprules = str_replace( "RewriteBase $home_root\n", '', $wprules );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
549 |
$scrules = implode( "\n", extract_from_markers( $home_path.'.htaccess', 'WPSuperCache' ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
550 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
551 |
if( substr( get_option( 'permalink_structure' ), -1 ) == '/' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
552 |
$condition_rules[] = "RewriteCond %{REQUEST_URI} !^.*[^/]$";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
553 |
$condition_rules[] = "RewriteCond %{REQUEST_URI} !^.*//.*$";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
554 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
555 |
$condition_rules[] = "RewriteCond %{REQUEST_METHOD} !POST";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
556 |
$condition_rules[] = "RewriteCond %{QUERY_STRING} !.*=.*";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
557 |
$condition_rules[] = "RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress|wp-postpass_).*$";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
558 |
$condition_rules[] = "RewriteCond %{HTTP_USER_AGENT} !^.*(Android|2.0\\ MMP|240x320|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|hiptop|IEMobile|iPhone|iPod|KYOCERA/WX310K|LG/U990|MIDP-2.0|MMEF20|MOT-V|NetFront|Newt|Nintendo\\ Wii|Nitro|Nokia|Opera\\ Mini|Palm|Playstation\\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|Small|SonyEricsson|Symbian\\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|Windows\\ CE|WinWAP).*";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
559 |
$condition_rules = apply_filters( 'supercacherewriteconditions', $condition_rules );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
560 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
561 |
$rules = "<IfModule mod_rewrite.c>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
562 |
$rules .= "RewriteEngine On\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
563 |
$rules .= "RewriteBase $home_root\n"; // props Chris Messina
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
564 |
$charset = get_option('blog_charset') == '' ? 'UTF-8' : get_option('blog_charset');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
565 |
$rules .= "AddDefaultCharset {$charset}\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
566 |
$rules .= "CONDITION_RULES";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
567 |
$rules .= "RewriteCond %{HTTP:Accept-Encoding} gzip\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
568 |
$rules .= "RewriteCond {$apache_root}{$inst_root}cache/supercache/%{HTTP_HOST}{$home_root}$1/index.html.gz -f\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
569 |
$rules .= "RewriteRule ^(.*) {$inst_root}cache/supercache/%{HTTP_HOST}{$home_root}$1/index.html.gz [L]\n\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
570 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
571 |
$rules .= "CONDITION_RULES";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
572 |
$rules .= "RewriteCond {$apache_root}{$inst_root}cache/supercache/%{HTTP_HOST}{$home_root}$1/index.html -f\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
573 |
$rules .= "RewriteRule ^(.*) {$inst_root}cache/supercache/%{HTTP_HOST}{$home_root}$1/index.html [L]\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
574 |
$rules .= "</IfModule>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
575 |
$rules = apply_filters( 'supercacherewriterules', $rules );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
576 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
577 |
$rules = str_replace( "CONDITION_RULES", implode( "\n", $condition_rules ) . "\n", $rules );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
578 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
579 |
$dohtaccess = true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
580 |
if( function_exists( 'is_site_admin' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
581 |
echo "<h4 style='color: #a00'>" . __( 'WordPress MU Detected', 'wp-super-cache' ) . "</h4><p>" . __( "Unfortunately the rewrite rules cannot be updated automatically when running WordPress MU. Please open your .htaccess and add the following mod_rewrite rules above any other rules in that file.", 'wp-super-cache' ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
582 |
} elseif( !$wprules || $wprules == '' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
583 |
echo "<h4 style='color: #a00'>" . __( 'Mod Rewrite rules cannot be updated!', 'wp-super-cache' ) . "</h4>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
584 |
echo "<p>" . sprintf( __( "You must have <strong>BEGIN</strong> and <strong>END</strong> markers in %s.htaccess for the auto update to work. They look like this and surround the main WordPress mod_rewrite rules:", 'wp-super-cache' ), $home_path );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
585 |
echo "<blockquote><pre><em># BEGIN WordPress</em>\n RewriteCond %{REQUEST_FILENAME} !-f\n RewriteCond %{REQUEST_FILENAME} !-d\n RewriteRule . /index.php [L]\n <em># END WordPress</em></pre></blockquote>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
586 |
_e( 'Refresh this page when you have updated your .htaccess file.', 'wp-super-cache' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
587 |
echo "</fieldset></div>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
588 |
return;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
589 |
} elseif( strpos( $wprules, 'wordpressuser' ) ) { // Need to clear out old mod_rewrite rules
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
590 |
echo "<p><strong>" . __( 'Thank you for upgrading.', 'wp-super-cache' ) . "</strong> " . sprintf( __( 'The mod_rewrite rules changed since you last installed this plugin. Unfortunately you must remove the old supercache rules before the new ones are updated. Refresh this page when you have edited your .htaccess file. If you wish to manually upgrade, change the following line: %1$s so it looks like this: %2$s The only changes are "HTTP_COOKIE" becomes "HTTP:Cookie" and "wordpressuser" becomes "wordpress". This is a WordPress 2.5 change but it’s backwards compatible with older versions if you’re brave enough to use them.', 'wp-super-cache' ), '<blockquote><code>RewriteCond %{HTTP_COOKIE} !^.*wordpressuser.*$</code></blockquote>', '<blockquote><code>RewriteCond %{HTTP:Cookie} !^.*wordpress.*$</code></blockquote>' ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
591 |
echo "</fieldset></div>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
592 |
return;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
593 |
} elseif( $scrules != '' && strpos( $scrules, '%{REQUEST_URI} !^.*[^/]$' ) === false && substr( get_option( 'permalink_structure' ), -1 ) == '/' ) { // permalink structure has a trailing slash, need slash check in rules.
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
594 |
echo "<div style='padding:0 8px;color:#9f6000;background-color:#feefb3;border:1px solid #9f6000;'><h4>" . __( 'Trailing slash check required.', 'wp-super-cache' ) . "</h4><p>" . __( 'It looks like your blog has URLs that end with a "/". Unfortunately since you installed this plugin a duplicate content bug has been found where URLs not ending in a "/" end serve the same content as those with the "/" and do not redirect to the proper URL. To fix, you must edit your .htaccess file and add these two rules to the two groups of Super Cache rules:', 'wp-super-cache' ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
595 |
echo "<blockquote><code>RewriteCond %{REQUEST_URI} !^.*[^/]$RewriteCond %{REQUEST_URI} !^.*//.*$</code></blockquote>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
596 |
echo "<p>" . __( 'You can see where the rules go and examine the complete rules by clicking the "View mod_rewrite rules" link below.', 'wp-super-cache' ) . "</p></div>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
597 |
$dohtaccess = false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
598 |
} elseif( strpos( $scrules, 'supercache' ) || strpos( $wprules, 'supercache' ) ) { // only write the rules once
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
599 |
$dohtaccess = false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
600 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
601 |
// cache/.htaccess rules
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
602 |
$gziprules = "<IfModule mod_mime.c>\n <FilesMatch \"\\.html\\.gz\$\">\n ForceType text/html\n FileETag None\n </FilesMatch>\n AddEncoding gzip .gz\n AddType text/html .gz\n</IfModule>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
603 |
$gziprules .= "<IfModule mod_deflate.c>\n SetEnvIfNoCase Request_URI \.gz$ no-gzip\n</IfModule>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
604 |
$gziprules .= "<IfModule mod_headers.c>\n Header set Vary \"Accept-Encoding, Cookie\"\n Header set Cache-Control 'max-age=300, must-revalidate'\n</IfModule>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
605 |
$gziprules .= "<IfModule mod_expires.c>\n ExpiresActive On\n ExpiresByType text/html A300\n</IfModule>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
606 |
if( $dohtaccess && !$_POST[ 'updatehtaccess' ] ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
607 |
if( !is_writeable_ACLSafe( $home_path . ".htaccess" ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
608 |
echo "<div style='padding:0 8px;color:#9f6000;background-color:#feefb3;border:1px solid #9f6000;'><h4>" . __( 'Cannot update .htaccess', 'wp-super-cache' ) . "</h4><p>" . sprintf( __( 'The file <code>%s.htaccess</code> cannot be modified by the web server. Please correct this using the chmod command or your ftp client.', 'wp-super-cache' ), $home_path ) . "</p><p>" . __( 'Refresh this page when the file permissions have been modified.' ) . "</p><p>" . sprintf( __( 'Alternatively, you can edit your <code>%s.htaccess</code> file manually and add the following code (before any WordPress rules):', 'wp-super-cache' ), $home_path ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
609 |
echo "<p><pre># BEGIN WPSuperCache\n" . wp_specialchars( $rules ) . "# END WPSuperCache</pre></p></div>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
610 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
611 |
echo "<div style='padding:0 8px;color:#9f6000;background-color:#feefb3;border:1px solid #9f6000;'><p>" . sprintf( __( 'To serve static html files your server must have the correct mod_rewrite rules added to a file called <code>%s.htaccess</code>', 'wp-super-cache' ), $home_path ) . " ";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
612 |
if( !function_exists( 'is_site_admin' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
613 |
_e( "You must edit the file yourself add the following rules.", 'wp-super-cache' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
614 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
615 |
_e( "You can edit the file yourself add the following rules.", 'wp-super-cache' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
616 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
617 |
echo __( " Make sure they appear before any existing WordPress rules. ", 'wp-super-cache' ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
618 |
echo "<pre># BEGIN WPSuperCache\n" . wp_specialchars( $rules ) . "# END WPSuperCache</pre></p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
619 |
echo "<p>" . sprintf( __( 'Rules must be added to %s too:', 'wp-super-cache' ), WP_CONTENT_DIR . "/cache/.htaccess" ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
620 |
echo "<pre># BEGIN supercache\n" . wp_specialchars( $gziprules ) . "# END supercache</pre></p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
621 |
if( !function_exists( 'is_site_admin' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
622 |
echo '<form name="updatehtaccess" action="#modrewrite" method="post">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
623 |
echo '<input type="hidden" name="updatehtaccess" value="1" />';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
624 |
echo '<div class="submit"><input type="submit" ' . SUBMITDISABLED . 'id="updatehtaccess" value="' . __( 'Update Mod_Rewrite Rules', 'wp-super-cache' ) . ' »" /></div>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
625 |
wp_nonce_field('wp-cache');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
626 |
echo "</form></div>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
627 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
628 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
629 |
} elseif( $dohtaccess && $valid_nonce && $_POST[ 'updatehtaccess' ] ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
630 |
wpsc_remove_marker( $home_path.'.htaccess', 'WordPress' ); // remove original WP rules so SuperCache rules go on top
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
631 |
echo "<div style='padding:0 8px;color:#4f8a10;background-color:#dff2bf;border:1px solid #4f8a10;'>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
632 |
if( insert_with_markers( $home_path.'.htaccess', 'WPSuperCache', explode( "\n", $rules ) ) && insert_with_markers( $home_path.'.htaccess', 'WordPress', explode( "\n", $wprules ) ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
633 |
echo "<h4>" . __( 'Mod Rewrite rules updated!', 'wp-super-cache' ) . "</h4>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
634 |
echo "<p><strong>" . sprintf( __( '%s.htaccess has been updated with the necessary mod_rewrite rules. Please verify they are correct. They should look like this:', 'wp-super-cache' ), $home_path ) . "</strong></p>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
635 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
636 |
echo "<h4>" . __( 'Mod Rewrite rules must be updated!', 'wp-super-cache' ) . "</h4>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
637 |
echo "<p><strong>" . sprintf( __( 'Your %s.htaccess is not writable by the webserver and must be updated with the necessary mod_rewrite rules. The new rules go above the regular WordPress rules as shown in the code below:', 'wp-super-cache' ), $home_path ) . "</strong></p>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
638 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
639 |
echo "<p><pre>" . wp_specialchars( $rules ) . "</pre></p>\n</div>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
640 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
641 |
?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
642 |
<p><?php printf( __( 'WP Super Cache mod rewrite rules were detected in your %s.htaccess file.<br /> Click the following link to see the lines added to that file. If you have upgraded the plugin make sure these rules match.', 'wp-super-cache' ), $home_path ); ?><br /><br />
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
643 |
<a href="javascript:toggleLayer('rewriterules');" class="button"><?php _e( 'View Mod_Rewrite Rules', 'wp-super-cache' ); ?></a>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
644 |
<div id='rewriterules' style='display: none;'>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
645 |
<?php echo "<p><pre># BEGIN WPSuperCache\n" . wp_specialchars( $rules ) . "# END WPSuperCache</pre></p>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
646 |
echo "<p>" . sprintf( __( 'Rules must be added to %s too:', 'wp-super-cache' ), WP_CONTENT_DIR . "/cache/.htaccess" ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
647 |
echo "<pre># BEGIN supercache\n" . wp_specialchars( $gziprules ) . "# END supercache</pre></p>"; ?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
648 |
</div>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
649 |
<?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
650 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
651 |
// http://allmybrain.com/2007/11/08/making-wp-super-cache-gzip-compression-work/
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
652 |
if( !is_file( $cache_path . '.htaccess' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
653 |
$gziprules = insert_with_markers( $cache_path . '.htaccess', 'supercache', explode( "\n", $gziprules ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
654 |
echo "<h4>" . sprintf( __( 'Gzip encoding rules in %s.htaccess created.', 'wp-super-cache' ), $cache_path ) . "</h4>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
655 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
656 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
657 |
?></fieldset><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
658 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
659 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
660 |
function wp_cache_restore() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
661 |
echo '<fieldset class="options"><h3>' . __( 'Fix Configuration', 'wp-super-cache' ) . '</h3>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
662 |
echo '<form name="wp_restore" action="#top" method="post">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
663 |
echo '<input type="hidden" name="wp_restore_config" />';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
664 |
echo '<div class="submit"><input type="submit" ' . SUBMITDISABLED . 'id="deletepost" value="' . __( 'Restore Default Configuration', 'wp-super-cache' ) . ' »" /></div>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
665 |
wp_nonce_field('wp-cache');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
666 |
echo "</form>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
667 |
echo '</fieldset>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
668 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
669 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
670 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
671 |
function comment_form_lockdown_message() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
672 |
?><p><?php _e( "Comment moderation is enabled. Your comment may take some time to appear.", 'wp-super-cache' ); ?></p><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
673 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
674 |
if( defined( 'WPLOCKDOWN' ) && constant( 'WPLOCKDOWN' ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
675 |
add_action( 'comment_form', 'comment_form_lockdown_message' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
676 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
677 |
function wp_lock_down() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
678 |
global $wpdb, $cache_path, $wp_cache_config_file, $valid_nonce, $cached_direct_pages, $cache_enabled, $super_cache_enabled;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
679 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
680 |
if(isset($_POST['wp_lock_down']) && $valid_nonce) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
681 |
$wp_lock_down = $_POST['wp_lock_down'] == '1' ? '1' : '0';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
682 |
wp_cache_replace_line('^.*WPLOCKDOWN', "define( 'WPLOCKDOWN', '$wp_lock_down' );", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
683 |
if( $wp_lock_down == '0' && function_exists( 'prune_super_cache' ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
684 |
prune_super_cache( $cache_path, true ); // clear the cache after lockdown
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
685 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
686 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
687 |
if( !isset( $wp_lock_down ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
688 |
if( defined( 'WPLOCKDOWN' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
689 |
$wp_lock_down = constant( 'WPLOCKDOWN' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
690 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
691 |
$wp_lock_down = '0';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
692 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
693 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
694 |
?><a name='lockdown'></a>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
695 |
<fieldset class="options">
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
696 |
<h3><?php _e( 'Lock Down:', 'wp-super-cache' ); ?> <?php echo $wp_lock_down == '0' ? '<span style="color:red">' . __( 'Disabled', 'wp-super-cache' ) . '</span>' : '<span style="color:green">' . __( 'Enabled', 'wp-super-cache' ) . '</span>'; ?></h3>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
697 |
<p><?php _e( 'Prepare your server for an expected spike in traffic by enabling the lock down. When this is enabled, new comments on a post will not refresh the cached static files.', 'wp-super-cache' ); ?></p>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
698 |
<p><?php _e( 'Developers: Make your plugin lock down compatible by checking the "WPLOCKDOWN" constant. The following code will make sure your plugin respects the WPLOCKDOWN setting.', 'wp-super-cache' ); ?>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
699 |
<blockquote><code>if( defined( 'WPLOCKDOWN' ) && constant( 'WPLOCKDOWN' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
700 |
echo "<?php _e( 'Sorry. My blog is locked down. Updates will appear shortly', 'wp-super-cache' ); ?>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
701 |
}</code></blockquote>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
702 |
<?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
703 |
if( $wp_lock_down == '1' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
704 |
?><p><?php _e( 'WordPress is locked down. Super Cache static files will not be deleted when new comments are made.', 'wp-super-cache' ); ?></p><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
705 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
706 |
?><p><?php _e( 'WordPress is not locked down. New comments will refresh Super Cache static files as normal.', 'wp-super-cache' ); ?></p><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
707 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
708 |
$new_lockdown = $wp_lock_down == '1' ? '0' : '1';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
709 |
$new_lockdown_desc = $wp_lock_down == '1' ? __( 'Disable', 'wp-super-cache' ) : __( 'Enable', 'wp-super-cache' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
710 |
echo '<form name="wp_lock_down" action="#lockdown" method="post">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
711 |
echo "<input type='hidden' name='wp_lock_down' value='{$new_lockdown}' />";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
712 |
echo "<div class='submit'><input type='submit' " . SUBMITDISABLED . " value='{$new_lockdown_desc} " . __( 'Lock Down', 'wp-super-cache' ) . " »' /></div>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
713 |
wp_nonce_field('wp-cache');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
714 |
echo "</form>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
715 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
716 |
?></fieldset><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
717 |
if( $cache_enabled == true && $super_cache_enabled == true ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
718 |
?><a name='direct'></a>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
719 |
<fieldset class="options">
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
720 |
<h3><?php _e( 'Directly Cached Files', 'wp-super-cache' ); ?></h3><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
721 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
722 |
$out = '';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
723 |
if( $valid_nonce && is_array( $_POST[ 'direct_pages' ] ) && !empty( $_POST[ 'direct_pages' ] ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
724 |
$expiredfiles = array_diff( $cached_direct_pages, $_POST[ 'direct_pages' ] );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
725 |
unset( $cached_direct_pages );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
726 |
foreach( $_POST[ 'direct_pages' ] as $page ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
727 |
$page = $wpdb->escape( $page );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
728 |
if( $page != '' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
729 |
$cached_direct_pages[] = $page;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
730 |
$out .= "'$page', ";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
731 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
732 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
733 |
if( $out == '' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
734 |
$out = "'', ";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
735 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
736 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
737 |
if( $valid_nonce && $_POST[ 'new_direct_page' ] && '' != $_POST[ 'new_direct_page' ] ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
738 |
$page = str_replace( get_option( 'siteurl' ), '', $_POST[ 'new_direct_page' ] );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
739 |
if( substr( $page, 0, 1 ) != '/' )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
740 |
$page = '/' . $page;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
741 |
$page = $wpdb->escape( $page );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
742 |
if( in_array( $page, $cached_direct_pages ) == false ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
743 |
$cached_direct_pages[] = $page;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
744 |
$out .= "'$page', ";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
745 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
746 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
747 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
748 |
if( $out != '' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
749 |
$out = substr( $out, 0, -2 );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
750 |
$out = '$cached_direct_pages = array( ' . $out . ' );';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
751 |
wp_cache_replace_line('^ *\$cached_direct_pages', "$out", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
752 |
prune_super_cache( $cache_path, true );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
753 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
754 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
755 |
if( !empty( $expiredfiles ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
756 |
foreach( $expiredfiles as $file ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
757 |
if( $file != '' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
758 |
$firstfolder = explode( '/', $file );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
759 |
$firstfolder = ABSPATH . $firstfolder[1];
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
760 |
$file = ABSPATH . $file;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
761 |
@unlink( trailingslashit( $file ) . 'index.html' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
762 |
@unlink( trailingslashit( $file ) . 'index.html.gz' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
763 |
RecursiveFolderDelete( trailingslashit( $firstfolder ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
764 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
765 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
766 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
767 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
768 |
if( $valid_nonce && $_POST[ 'deletepage' ] ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
769 |
$page = preg_replace('/[ <>\'\"\r\n\t\(\)]/', '', str_replace( '..', '', $_POST['deletepage']) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
770 |
$pagefile = ABSPATH . $page . 'index.html';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
771 |
$firstfolder = explode( '/', $page );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
772 |
$firstfolder = ABSPATH . $firstfolder[1];
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
773 |
$page = ABSPATH . $page;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
774 |
if( is_file( $pagefile ) && is_writeable_ACLSafe( $pagefile ) && is_writeable_ACLSafe( $firstfolder ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
775 |
@unlink( $pagefile );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
776 |
@unlink( $pagefile . '.gz' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
777 |
RecursiveFolderDelete( $firstfolder );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
778 |
echo "<strong>" . sprintf( __( '%s removed!', 'wp-super-cache' ), $pagefile ) . "</strong>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
779 |
prune_super_cache( $cache_path, true );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
780 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
781 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
782 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
783 |
$readonly = '';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
784 |
if( !is_writeable_ACLSafe( ABSPATH ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
785 |
$readonly = 'READONLY';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
786 |
?><p style='padding:0 8px;color:#9f6000;background-color:#feefb3;border:1px solid #9f6000;'><strong><?php _e( 'Warning!', 'wp-super-cache' ); ?></strong> <?php printf( __( 'You must make %s writable to enable this feature. As this is a security risk please make it readonly after your page is generated.', 'wp-super-cache' ), ABSPATH ); ?></p><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
787 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
788 |
?><p style='padding:0 8px;color:#9f6000;background-color:#feefb3;border:1px solid #9f6000;'><strong><?php _e( 'Warning!', 'wp-super-cache' ); ?></strong> <?php printf( __( '%s is writable. Please make it readonly after your page is generated as this is a security risk.', 'wp-super-cache' ), ABSPATH ); ?></p><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
789 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
790 |
echo '<form name="direct_page" action="#direct" method="post">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
791 |
if( is_array( $cached_direct_pages ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
792 |
$out = '';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
793 |
foreach( $cached_direct_pages as $page ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
794 |
if( $page == '' )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
795 |
continue;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
796 |
$generated = '';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
797 |
if( is_file( ABSPATH . $page . '/index.html' ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
798 |
$generated = '<input type="Submit" name="deletepage" value="' . $page . '">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
799 |
$out .= "<tr><td><input type='text' $readonly name='direct_pages[]' size='30' value='$page' /></td><td>$generated</td></tr>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
800 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
801 |
if( $out != '' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
802 |
?><table><tr><th><?php _e( 'Existing direct page', 'wp-super-cache' ); ?></th><th><?php _e( 'Delete cached file', 'wp-super-cache' ); ?></th></tr><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
803 |
echo "$out</table>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
804 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
805 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
806 |
if( $readonly != 'READONLY' )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
807 |
echo __( "Add direct page:", 'wp-super-cache' ) . "<input type='text' $readonly name='new_direct_page' size='30' value='' />";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
808 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
809 |
echo "<p>" . sprintf( __( "Directly cached files are files created directly off %s where your blog lives. This feature is only useful if you are expecting a major Digg or Slashdot level of traffic to one post or page.", 'wp-super-cache' ), ABSPATH ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
810 |
if( $readonly != 'READONLY' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
811 |
echo "<p>" . sprintf( __( 'For example: to cache <em>%1$sabout/</em>, you would enter %1$sabout/ or /about/. The cached file will be generated the next time an anonymous user visits that page.', 'wp-super-cache' ), trailingslashit( get_option( 'siteurl' ) ) ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
812 |
echo "<p>" . __( 'Make the textbox blank to remove it from the list of direct pages and delete the cached file.', 'wp-super-cache' ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
813 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
814 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
815 |
wp_nonce_field('wp-cache');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
816 |
if( $readonly != 'READONLY' )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
817 |
echo "<div class='submit'><input type='submit' ' . SUBMITDISABLED . 'value='" . __( 'Update Direct Pages', 'wp-super-cache' ) . " »' /></div>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
818 |
echo "</form>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
819 |
?></fieldset><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
820 |
} // if $super_cache_enabled
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
821 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
822 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
823 |
function RecursiveFolderDelete ( $folderPath ) { // from http://www.php.net/manual/en/function.rmdir.php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
824 |
if( trailingslashit( constant( 'ABSPATH' ) ) == trailingslashit( $folderPath ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
825 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
826 |
if ( @is_dir ( $folderPath ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
827 |
$dh = @opendir($folderPath);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
828 |
while (false !== ($value = @readdir($dh))) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
829 |
if ( $value != "." && $value != ".." ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
830 |
$value = $folderPath . "/" . $value;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
831 |
if ( @is_dir ( $value ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
832 |
RecursiveFolderDelete ( $value );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
833 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
834 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
835 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
836 |
return @rmdir ( $folderPath );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
837 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
838 |
return FALSE;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
839 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
840 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
841 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
842 |
function wp_cache_edit_max_time () {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
843 |
global $cache_max_time, $wp_cache_config_file, $valid_nonce, $cache_enabled, $super_cache_enabled;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
844 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
845 |
if( !isset( $cache_max_time ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
846 |
$cache_max_time = 3600;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
847 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
848 |
if(isset($_POST['wp_max_time']) && $valid_nonce) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
849 |
$max_time = (int)$_POST['wp_max_time'];
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
850 |
if ($max_time > 0) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
851 |
$cache_max_time = $max_time;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
852 |
wp_cache_replace_line('^ *\$cache_max_time', "\$cache_max_time = $cache_max_time;", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
853 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
854 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
855 |
?><fieldset class="options">
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
856 |
<a name='expirytime'></a>
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
857 |
<h3><?php _e( 'Expiry Time & Garbage Collection', 'wp-super-cache' ); ?></h3><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
858 |
echo '<form name="wp_edit_max_time" action="#expirytime" method="post">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
859 |
echo '<label for="wp_max_time">' . __( 'Expire time:', 'wp-super-cache' ) . '</label> ';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
860 |
echo "<input type=\"text\" size=6 name=\"wp_max_time\" value=\"$cache_max_time\" /> " . __( "seconds", 'wp-super-cache' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
861 |
echo "<h4>" . __( 'Garbage Collection', 'wp-super-cache' ) . "</h4><p>" . __( 'If expiry time is more than 1800 seconds (half an hour), garbage collection will be done every 10 minutes, otherwise it will happen 10 seconds after the expiry time above.', 'wp-super-cache' ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
862 |
echo "<p>" . __( 'Checking for and deleting expired files is expensive, but it’s expensive leaving them there too. On a very busy site you should set the expiry time to <em>300 seconds</em>. Experiment with different values and visit this page to see how many expired files remain at different times during the day. Aim to have less than 500 cached files if possible.', 'wp-super-cache' ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
863 |
echo '<div class="submit"><input type="submit" ' . SUBMITDISABLED . 'value="' . __( 'Change Expiration', 'wp-super-cache' ) . ' »" /></div>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
864 |
wp_nonce_field('wp-cache');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
865 |
echo "</form>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
866 |
?></fieldset><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
867 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
868 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
869 |
function wp_cache_sanitize_value($text, & $array) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
870 |
$text = wp_specialchars(strip_tags($text));
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
871 |
$array = preg_split("/[\s,]+/", chop($text));
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
872 |
$text = var_export($array, true);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
873 |
$text = preg_replace('/[\s]+/', ' ', $text);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
874 |
return $text;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
875 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
876 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
877 |
// from tehjosh at gamingg dot net http://uk2.php.net/manual/en/function.apache-request-headers.php#73964
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
878 |
// fixed bug in second substr()
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
879 |
if( !function_exists('apache_request_headers') ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
880 |
function apache_request_headers() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
881 |
$headers = array();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
882 |
foreach(array_keys($_SERVER) as $skey) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
883 |
if(substr($skey, 0, 5) == "HTTP_") {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
884 |
$headername = str_replace(" ", "-", ucwords(strtolower(str_replace("_", " ", substr($skey, 5)))));
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
885 |
$headers[$headername] = $_SERVER[$skey];
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
886 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
887 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
888 |
return $headers;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
889 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
890 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
891 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
892 |
function wp_cache_edit_rejected_ua() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
893 |
global $cache_rejected_user_agent, $wp_cache_config_file, $valid_nonce;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
894 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
895 |
if (!function_exists('apache_request_headers')) return;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
896 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
897 |
if(isset($_REQUEST['wp_rejected_user_agent']) && $valid_nonce) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
898 |
$text = wp_cache_sanitize_value($_REQUEST['wp_rejected_user_agent'], $cache_rejected_user_agent);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
899 |
wp_cache_replace_line('^ *\$cache_rejected_user_agent', "\$cache_rejected_user_agent = $text;", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
900 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
901 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
902 |
echo '<a name="useragents"></a><fieldset class="options"><h3>' . __( 'Rejected User Agents', 'wp-super-cache' ) . '</h3>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
903 |
echo "<p>" . __( 'Strings in the HTTP ’User Agent’ header that prevent WP-Cache from caching bot, spiders, and crawlers’ requests. Note that super cached files are still sent to these agents if they already exists.', 'wp-super-cache' ) . "</p>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
904 |
echo '<form name="wp_edit_rejected_user_agent" action="#useragents" method="post">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
905 |
echo '<textarea name="wp_rejected_user_agent" cols="40" rows="4" style="width: 50%; font-size: 12px;" class="code">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
906 |
foreach ($cache_rejected_user_agent as $ua) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
907 |
echo wp_specialchars($ua) . "\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
908 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
909 |
echo '</textarea> ';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
910 |
echo '<div class="submit"><input type="submit" ' . SUBMITDISABLED . 'value="' . __( 'Save UA Strings', 'wp-super-cache' ) . ' »" /></div>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
911 |
wp_nonce_field('wp-cache');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
912 |
echo '</form>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
913 |
echo "</fieldset>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
914 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
915 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
916 |
function wp_cache_edit_rejected_pages() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
917 |
global $wp_cache_config_file, $valid_nonce, $wp_cache_pages;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
918 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
919 |
if ( isset( $_POST[ 'wp_edit_rejected_pages' ] ) && $valid_nonce ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
920 |
$pages = array( 'single', 'pages', 'archives', 'tag', 'frontpage', 'home', 'category', 'feed', 'search' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
921 |
foreach( $pages as $page ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
922 |
if ( isset( $_POST[ 'wp_cache_pages' ][ $page ] ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
923 |
$value = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
924 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
925 |
$value = 0;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
926 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
927 |
wp_cache_replace_line('^ *\$wp_cache_pages\[ "' . $page . '" \]', "\$wp_cache_pages[ \"{$page}\" ] = $value;", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
928 |
$wp_cache_pages[ $page ] = $value;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
929 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
930 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
931 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
932 |
echo '<a name="rejectpages"></a>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
933 |
echo '<p>' . __( 'Do not cache the following page types. See the <a href="http://codex.wordpress.org/Conditional_Tags">Conditional Tags</a> documentation for a complete discussion on each type.', 'wp-super-cache' ) . '</p>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
934 |
echo '<form name="wp_edit_rejected_pages" action="#rejectpages" method="post">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
935 |
echo '<input type="hidden" name="wp_edit_rejected_pages" value="1" />';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
936 |
echo '<label><input type="checkbox" value="1" name="wp_cache_pages[single]" ' . checked( 1, $wp_cache_pages[ 'single' ], false ) . ' /> ' . __( 'Single Posts', 'wp-super-cache' ) . ' (is_single)</label><br />';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
937 |
echo '<label><input type="checkbox" value="1" name="wp_cache_pages[pages]" ' . checked( 1, $wp_cache_pages[ 'pages' ], false ) . ' /> ' . __( 'Pages', 'wp-super-cache' ) . ' (is_page)</label><br />';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
938 |
echo '<label><input type="checkbox" value="1" name="wp_cache_pages[frontpage]" ' . checked( 1, $wp_cache_pages[ 'frontpage' ], false ) . ' /> ' . __( 'Front Page', 'wp-super-cache' ) . ' (is_front_page)</label><br />';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
939 |
echo ' <label><input type="checkbox" value="1" name="wp_cache_pages[home]" ' . checked( 1, $wp_cache_pages[ 'home' ], false ) . ' /> ' . __( 'Home', 'wp-super-cache' ) . ' (is_home)</label><br />';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
940 |
echo '<label><input type="checkbox" value="1" name="wp_cache_pages[archives]" ' . checked( 1, $wp_cache_pages[ 'archives' ], false ) . ' /> ' . __( 'Archives', 'wp-super-cache' ) . ' (is_archive)</label><br />';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
941 |
echo ' <label><input type="checkbox" value="1" name="wp_cache_pages[tag]" ' . checked( 1, $wp_cache_pages[ 'tag' ], false ) . ' /> ' . __( 'Tags', 'wp-super-cache' ) . ' (is_tag)</label><br />';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
942 |
echo ' <label><input type="checkbox" value="1" name="wp_cache_pages[category]" ' . checked( 1, $wp_cache_pages[ 'category' ], false ) . ' /> ' . __( 'Category', 'wp-super-cache' ) . ' (is_category)</label><br />';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
943 |
echo '<label><input type="checkbox" value="1" name="wp_cache_pages[feed]" ' . checked( 1, $wp_cache_pages[ 'feed' ], false ) . ' /> ' . __( 'Feeds', 'wp-super-cache' ) . ' (is_feed)</label><br />';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
944 |
echo '<label><input type="checkbox" value="1" name="wp_cache_pages[search]" ' . checked( 1, $wp_cache_pages[ 'search' ], false ) . ' /> ' . __( 'Search Pages', 'wp-super-cache' ) . ' (is_search)</label><br />';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
945 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
946 |
echo '<div class="submit"><input type="submit" ' . SUBMITDISABLED . 'value="' . __( 'Save' ) . ' »" /></div>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
947 |
wp_nonce_field('wp-cache');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
948 |
echo "</form>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
949 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
950 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
951 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
952 |
function wp_cache_edit_rejected() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
953 |
global $cache_acceptable_files, $cache_rejected_uri, $wp_cache_config_file, $valid_nonce;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
954 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
955 |
if(isset($_REQUEST['wp_rejected_uri']) && $valid_nonce) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
956 |
$text = wp_cache_sanitize_value( str_replace( '\\\\', '\\', $_REQUEST['wp_rejected_uri'] ), $cache_rejected_uri );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
957 |
wp_cache_replace_line('^ *\$cache_rejected_uri', "\$cache_rejected_uri = $text;", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
958 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
959 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
960 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
961 |
echo '<a name="rejecturi"></a>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
962 |
echo '<form name="wp_edit_rejected" action="#rejecturi" method="post">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
963 |
echo "<p>" . __( 'Add here strings (not a filename) that forces a page not to be cached. For example, if your URLs include year and you dont want to cache last year posts, it’s enough to specify the year, i.e. ’/2004/’. WP-Cache will search if that string is part of the URI and if so, it will not cache that page.', 'wp-super-cache' ) . "</p>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
964 |
echo '<textarea name="wp_rejected_uri" cols="40" rows="4" style="width: 50%; font-size: 12px;" class="code">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
965 |
foreach ($cache_rejected_uri as $file) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
966 |
echo wp_specialchars( $file ) . "\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
967 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
968 |
echo '</textarea> ';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
969 |
echo '<div class="submit"><input type="submit" ' . SUBMITDISABLED . 'value="' . __( 'Save Strings', 'wp-super-cache' ) . ' »" /></div>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
970 |
wp_nonce_field('wp-cache');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
971 |
echo "</form>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
972 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
973 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
974 |
function wp_cache_edit_accepted() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
975 |
global $cache_acceptable_files, $cache_rejected_uri, $wp_cache_config_file, $valid_nonce;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
976 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
977 |
if(isset($_REQUEST['wp_accepted_files']) && $valid_nonce) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
978 |
$text = wp_cache_sanitize_value($_REQUEST['wp_accepted_files'], $cache_acceptable_files);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
979 |
wp_cache_replace_line('^ *\$cache_acceptable_files', "\$cache_acceptable_files = $text;", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
980 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
981 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
982 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
983 |
echo '<a name="cancache"></a>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
984 |
echo '<div style="clear:both"></div><form name="wp_edit_accepted" action="#cancache" method="post">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
985 |
echo "<p>" . __( 'Add here those filenames that can be cached, even if they match one of the rejected substring specified above.', 'wp-super-cache' ) . "</p>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
986 |
echo '<textarea name="wp_accepted_files" cols="40" rows="8" style="width: 50%; font-size: 12px;" class="code">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
987 |
foreach ($cache_acceptable_files as $file) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
988 |
echo wp_specialchars($file) . "\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
989 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
990 |
echo '</textarea> ';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
991 |
echo '<div class="submit"><input type="submit" ' . SUBMITDISABLED . 'value="' . __( 'Save Files', 'wp-super-cache' ) . ' »" /></div>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
992 |
wp_nonce_field('wp-cache');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
993 |
echo "</form>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
994 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
995 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
996 |
function wp_cache_debug_settings() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
997 |
global $wp_super_cache_debug, $wp_cache_debug_email, $wp_cache_debug_log, $wp_cache_debug_level, $wp_cache_debug_ip, $cache_path, $valid_nonce, $wp_cache_config_file, $wp_cache_debug_to_file;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
998 |
global $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;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
999 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1000 |
if ( !isset( $wp_cache_debug_level ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1001 |
$wp_cache_debug_level = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1002 |
if ( isset( $_POST[ 'wp_cache_debug' ] ) && $valid_nonce ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1003 |
$wp_super_cache_debug = intval( $_POST[ 'wp_super_cache_debug' ] );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1004 |
wp_cache_replace_line('^ *\$wp_super_cache_debug', "\$wp_super_cache_debug = '$wp_super_cache_debug';", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1005 |
$wp_cache_debug_email = wp_specialchars( $_POST[ 'wp_cache_debug_email' ] );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1006 |
wp_cache_replace_line('^ *\$wp_cache_debug_email', "\$wp_cache_debug_email = '$wp_cache_debug_email';", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1007 |
$wp_cache_debug_to_file = intval( $_POST[ 'wp_cache_debug_to_file' ] );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1008 |
if ( $wp_cache_debug_to_file && ( ( isset( $wp_cache_debug_log ) && $wp_cache_debug_log == '' ) || !isset( $wp_cache_debug_log ) ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1009 |
$wp_cache_debug_log = md5( time() ) . ".txt";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1010 |
} elseif( $wp_cache_debug_to_file == false ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1011 |
$wp_cache_debug_log = "";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1012 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1013 |
wp_cache_replace_line('^ *\$wp_cache_debug_to_file', "\$wp_cache_debug_to_file = '$wp_cache_debug_to_file';", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1014 |
wp_cache_replace_line('^ *\$wp_cache_debug_log', "\$wp_cache_debug_log = '$wp_cache_debug_log';", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1015 |
$wp_cache_debug_ip = wp_specialchars( $_POST[ 'wp_cache_debug_ip' ] );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1016 |
wp_cache_replace_line('^ *\$wp_cache_debug_ip', "\$wp_cache_debug_ip = '$wp_cache_debug_ip';", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1017 |
$wp_cache_debug_level = (int)$_POST[ 'wp_cache_debug_level' ];
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1018 |
wp_cache_replace_line('^ *\$wp_cache_debug_level', "\$wp_cache_debug_level = '$wp_cache_debug_level';", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1019 |
$wp_super_cache_front_page_check = (int)$_POST[ 'wp_super_cache_front_page_check' ];
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1020 |
wp_cache_replace_line('^ *\$wp_super_cache_front_page_check', "\$wp_super_cache_front_page_check = '$wp_super_cache_front_page_check';", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1021 |
$wp_super_cache_front_page_clear = (int)$_POST[ 'wp_super_cache_front_page_clear' ];
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1022 |
wp_cache_replace_line('^ *\$wp_super_cache_front_page_clear', "\$wp_super_cache_front_page_clear = '$wp_super_cache_front_page_clear';", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1023 |
$wp_super_cache_front_page_text = wp_specialchars( $_POST[ 'wp_super_cache_front_page_text' ] );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1024 |
wp_cache_replace_line('^ *\$wp_super_cache_front_page_text', "\$wp_super_cache_front_page_text = '$wp_super_cache_front_page_text';", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1025 |
$wp_super_cache_front_page_notification = (int)$_POST[ 'wp_super_cache_front_page_notification' ];
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1026 |
wp_cache_replace_line('^ *\$wp_super_cache_front_page_notification', "\$wp_super_cache_front_page_notification = '$wp_super_cache_front_page_notification';", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1027 |
if ( isset( $wp_super_cache_front_page_check ) && $wp_super_cache_front_page_check == 1 && !wp_next_scheduled( 'wp_cache_check_site_hook' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1028 |
wp_schedule_single_event( time() + 360 , 'wp_cache_check_site_hook' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1029 |
if ( isset( $GLOBALS[ 'wp_super_cache_debug' ] ) && $GLOBALS[ 'wp_super_cache_debug' ] ) wp_cache_debug( 'scheduled wp_cache_check_site_hook for 360 seconds time.', 2 );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1030 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1031 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1032 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1033 |
echo '<a name="debug"></a>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1034 |
echo '<fieldset class="options">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1035 |
echo "<h3>" . __( 'Debug Settings', 'wp-super-cache' ) . "</h3>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1036 |
if ( ( isset( $wp_cache_debug_log ) && $wp_cache_debug_log != '' ) || ( isset( $wp_cache_debug_email ) && $wp_cache_debug_email != '' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1037 |
echo "<p>" . __( 'Currently logging to: ', 'wp-super-cache' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1038 |
if ( isset( $wp_cache_debug_log ) && $wp_cache_debug_log != '' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1039 |
$url = str_replace( ABSPATH, '', "{$cache_path}{$wp_cache_debug_log}" );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1040 |
echo "<a href='" . site_url( $url ) . "'>$cache_path{$wp_cache_debug_log}</a> ";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1041 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1042 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1043 |
if ( isset( $wp_cache_debug_email ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1044 |
echo " $wp_cache_debug_email ";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1045 |
echo "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1046 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1047 |
echo '<p>' . __( 'Fix problems with the plugin by debugging it here. It can send you debug emails or log them to a file in your cache directory.', 'wp-super-cache' ) . '</p>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1048 |
echo '<p>' . __( 'Logging to a file is easier but faces the problem that clearing the cache will clear the log file.', 'wp-super-cache' ) . '</p>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1049 |
echo '<div style="clear:both"></div><form name="wp_cache_debug" action="#debug" method="post">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1050 |
echo "<input type='hidden' name='wp_cache_debug' value='1' /><br />";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1051 |
echo "<table class='form-table'>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1052 |
echo "<tr><td>" . __( 'Debugging', 'wp-super-cache' ) . "</td><td><input type='checkbox' name='wp_super_cache_debug' value='1' " . checked( 1, $wp_super_cache_debug, false ) . " /> " . __( 'enabled', 'wp-super-cache' ) . "</td></tr>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1053 |
echo "<tr><td valign='top' rowspan='2'>" . __( 'Logging Type', 'wp-super-cache' ) . "</td><td> " . __( 'Email', 'wp-super-cache' ) . ": <input type='text' size='30' name='wp_cache_debug_email' value='{$wp_cache_debug_email}' /></td></tr>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1054 |
echo "<tr><td><input type='checkbox' name='wp_cache_debug_to_file' value='1' " . checked( 1, $wp_cache_debug_to_file, false ) . " /> " . __( 'file', 'wp-super-cache' ) . "</td></tr>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1055 |
echo "<tr><td>" . __( 'IP Address', 'wp-super-cache' ) . "</td><td> <input type='text' size='20' name='wp_cache_debug_ip' value='{$wp_cache_debug_ip}' /> " . sprintf( __( '(only log requests from this IP address. Your IP is %s)', 'wp-super-cache' ), $_SERVER[ 'REMOTE_ADDR' ] ) . "</td></tr>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1056 |
echo "<tr><td>" . __( 'Log level', 'wp-super-cache' ) . "</td><td> ";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1057 |
for( $t = 1; $t <= 5; $t++ ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1058 |
echo "<input type='radio' name='wp_cache_debug_level' value='$t' ";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1059 |
echo $wp_cache_debug_level == $t ? "checked='checked' " : '';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1060 |
echo "/> $t ";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1061 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1062 |
echo " " . __( '(1 = less, 5 = more, may cause severe server load.)', 'wp-super-cache' ) . "</td></tr>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1063 |
echo "</table>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1064 |
if ( isset( $wp_super_cache_advanced_debug ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1065 |
echo "<h4>" . __( 'Advanced', 'wp-super-cache' ) . "</h4><p>" . __( 'In very rare cases two problems may arise on some blogs:<ol><li> The front page may start downloading as a zip file.</li><li> The wrong page is occasionally cached as the front page if your blog uses a static front page and the permalink structure is <em>/%category%/%postname%/</em>.</li></ol>', 'wp-super-cache' ) . '</p>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1066 |
echo "<p>" . __( 'I’m 99% certain that they aren’t bugs in WP Super Cache and they only happen in very rare cases but you can run a simple check once every 5 minutes to verify that your site is ok if you’re worried. You will be emailed if there is a problem.', 'wp-super-cache' ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1067 |
echo "<table class='form-table'>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1068 |
echo "<tr><td valign='top' colspan='2'><input type='checkbox' name='wp_super_cache_front_page_check' value='1' " . checked( 1, $wp_super_cache_front_page_check, false ) . " /> " . __( 'Check front page every 5 minutes.', 'wp-super-cache' ) . "</td></tr>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1069 |
echo "<tr><td valign='top'>" . __( 'Front page text', 'wp-super-cache' ) . "</td><td> <input type='text' size='30' name='wp_super_cache_front_page_text' value='{$wp_super_cache_front_page_text}' /> (" . __( 'Text to search for on your front page. If this text is missing the cache will be cleared. Leave blank to disable.', 'wp-super-cache' ) . ")</td></tr>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1070 |
echo "<tr><td valign='top' colspan='2'><input type='checkbox' name='wp_super_cache_front_page_clear' value='1' " . checked( 1, $wp_super_cache_front_page_clear, false ) . " /> " . __( 'Clear cache on error.', 'wp-super-cache' ) . "</td></tr>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1071 |
echo "<tr><td valign='top' colspan='2'><input type='checkbox' name='wp_super_cache_front_page_notification' value='1' " . checked( 1, $wp_super_cache_front_page_notification, false ) . " /> " . __( 'Email the blog admin when checks are made. (useful for testing)', 'wp-super-cache' ) . "</td></tr>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1072 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1073 |
echo "</table>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1074 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1075 |
echo '<div class="submit"><input type="submit" ' . SUBMITDISABLED . 'value="' . __( 'Save', 'wp-super-cache' ) . ' »" /></div>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1076 |
wp_nonce_field('wp-cache');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1077 |
echo "</form>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1078 |
echo '</fieldset>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1079 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1080 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1081 |
function wp_cache_enable() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1082 |
global $wp_cache_config_file, $cache_enabled, $supercachedir;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1083 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1084 |
if(get_option('gzipcompression')) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1085 |
echo "<strong>" . __( 'Error: GZIP compression is enabled, disable it if you want to enable wp-cache.', 'wp-super-cache' ) . "</strong>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1086 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1087 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1088 |
if( wp_cache_replace_line('^ *\$cache_enabled', '$cache_enabled = true;', $wp_cache_config_file) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1089 |
$cache_enabled = true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1090 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1091 |
wp_super_cache_enable();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1092 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1093 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1094 |
function wp_cache_disable() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1095 |
global $wp_cache_config_file, $cache_enabled;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1096 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1097 |
if (wp_cache_replace_line('^ *\$cache_enabled', '$cache_enabled = false;', $wp_cache_config_file)) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1098 |
$cache_enabled = false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1099 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1100 |
wp_super_cache_disable();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1101 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1102 |
function wp_super_cache_enable() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1103 |
global $supercachedir, $wp_cache_config_file, $super_cache_enabled;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1104 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1105 |
if( is_dir( $supercachedir . ".disabled" ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1106 |
if( is_dir( $supercachedir ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1107 |
prune_super_cache( $supercachedir . ".disabled", true );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1108 |
@unlink( $supercachedir . ".disabled" );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1109 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1110 |
@rename( $supercachedir . ".disabled", $supercachedir );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1111 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1112 |
wp_cache_replace_line('^ *\$super_cache_enabled', '$super_cache_enabled = true;', $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1113 |
$super_cache_enabled = true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1114 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1115 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1116 |
function wp_super_cache_disable() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1117 |
global $cache_path, $supercachedir, $wp_cache_config_file, $super_cache_enabled;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1118 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1119 |
wp_cache_replace_line('^ *\$super_cache_enabled', '$super_cache_enabled = false;', $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1120 |
if( is_dir( $supercachedir ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1121 |
@rename( $supercachedir, $supercachedir . ".disabled" );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1122 |
$super_cache_enabled = false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1123 |
sleep( 1 ); // allow existing processes to write to the supercachedir and then delete it
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1124 |
if (function_exists ('prune_super_cache') && is_dir( $supercachedir ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1125 |
prune_super_cache( $cache_path, true );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1126 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1127 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1128 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1129 |
function wp_cache_is_enabled() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1130 |
global $wp_cache_config_file;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1131 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1132 |
if(get_option('gzipcompression')) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1133 |
echo "<strong>" . __( 'Warning', 'wp-super-cache' ) . "</strong>: " . __( "GZIP compression is enabled in Wordpress, wp-cache will be bypassed until you disable gzip compression.", 'wp-super-cache' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1134 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1135 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1136 |
$lines = file($wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1137 |
foreach($lines as $line) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1138 |
if (preg_match('/^ *\$cache_enabled *= *true *;/', $line))
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1139 |
return true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1140 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1141 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1142 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1143 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1144 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1145 |
function wp_cache_replace_line($old, $new, $my_file) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1146 |
if (!is_writeable_ACLSafe($my_file)) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1147 |
echo "Error: file $my_file is not writable.\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1148 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1149 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1150 |
$found = false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1151 |
$lines = file($my_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1152 |
foreach($lines as $line) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1153 |
if ( preg_match("/$old/", $line)) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1154 |
$found = true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1155 |
break;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1156 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1157 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1158 |
if ($found) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1159 |
$fd = fopen($my_file, 'w');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1160 |
foreach($lines as $line) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1161 |
if ( !preg_match("/$old/", $line))
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1162 |
fputs($fd, $line);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1163 |
else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1164 |
fputs($fd, "$new //Added by WP-Cache Manager\n");
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1165 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1166 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1167 |
fclose($fd);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1168 |
return true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1169 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1170 |
$fd = fopen($my_file, 'w');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1171 |
$done = false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1172 |
foreach($lines as $line) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1173 |
if ( $done || !preg_match('/^(if\ \(\ \!\ )?define|\$|\?>/', $line) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1174 |
fputs($fd, $line);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1175 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1176 |
fputs($fd, "$new //Added by WP-Cache Manager\n");
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1177 |
fputs($fd, $line);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1178 |
$done = true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1179 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1180 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1181 |
fclose($fd);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1182 |
return true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1183 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1184 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1185 |
function wp_cache_verify_cache_dir() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1186 |
global $cache_path, $blog_cache_dir, $blogcacheid;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1187 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1188 |
$dir = dirname($cache_path);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1189 |
if ( !file_exists($cache_path) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1190 |
if ( !is_writeable_ACLSafe( $dir ) || !($dir = mkdir( $cache_path ) ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1191 |
echo "<strong>" . __( 'Error', 'wp-super-cache' ) . ":</strong> " . sprintf( __( 'Your cache directory (<strong>$cache_path</strong>) did not exist and couldn’t be created by the web server. Check %s permissions.', 'wp-super-cache' ), $dir );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1192 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1193 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1194 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1195 |
if ( !is_writeable_ACLSafe($cache_path)) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1196 |
echo "<strong>" . __( 'Error', 'wp-super-cache' ) . ":</strong> " . sprintf( __( 'Your cache directory (<strong>%1$s</strong>) or <strong>%2$s</strong> need to be writable for this plugin to work. Double-check it.', 'wp-super-cache' ), $cache_path, $dir );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1197 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1198 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1199 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1200 |
if ( '/' != substr($cache_path, -1)) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1201 |
$cache_path .= '/';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1202 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1203 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1204 |
if( false == is_dir( $blog_cache_dir ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1205 |
@mkdir( $cache_path . "blogs" );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1206 |
if( $blog_cache_dir != $cache_path . "blogs/" )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1207 |
@mkdir( $blog_cache_dir );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1208 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1209 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1210 |
if( false == is_dir( $blog_cache_dir . 'meta' ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1211 |
@mkdir( $blog_cache_dir . 'meta' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1212 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1213 |
return true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1214 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1215 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1216 |
function wp_cache_verify_config_file() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1217 |
global $wp_cache_config_file, $wp_cache_config_file_sample, $sem_id, $cache_path;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1218 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1219 |
$new = false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1220 |
$dir = dirname($wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1221 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1222 |
if ( file_exists($wp_cache_config_file) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1223 |
$lines = join( ' ', file( $wp_cache_config_file ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1224 |
if( strpos( $lines, 'WPCACHEHOME' ) === false ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1225 |
if( is_writeable_ACLSafe( $wp_cache_config_file ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1226 |
@unlink( $wp_cache_config_file );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1227 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1228 |
echo "<strong>" . __( 'Error', 'wp-super-cache' ) . ":</strong> " . sprintf( __( 'Your WP-Cache config file (<strong>%s</strong>) is out of date and not writable by the Web server.Please delete it and refresh this page.', 'wp-super-cache' ), $wp_cache_config_file );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1229 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1230 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1231 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1232 |
} elseif( !is_writeable_ACLSafe($dir)) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1233 |
echo "<strong>" . __( 'Error', 'wp-super-cache' ) . ":</strong> " . sprintf( __( 'Configuration file missing and %1$s directory (<strong>%2$s</strong>) is not writable by the Web server.Check its permissions.', 'wp-super-cache' ), WP_CONTENT_DIR, $dir );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1234 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1235 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1236 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1237 |
if ( !file_exists($wp_cache_config_file) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1238 |
if ( !file_exists($wp_cache_config_file_sample) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1239 |
echo "<strong>" . __( 'Error', 'wp-super-cache' ) . ":</strong> " . sprintf( __( 'Sample WP-Cache config file (<strong>%s</strong>) does not exist.Verify you installation.', 'wp-super-cache' ), $wp_cache_config_file_sample );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1240 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1241 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1242 |
copy($wp_cache_config_file_sample, $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1243 |
$dir = str_replace( str_replace( '\\', '/', WP_CONTENT_DIR ), '', str_replace( '\\', '/', dirname(__FILE__) ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1244 |
if( is_file( dirname(__FILE__) . '/wp-cache-config-sample.php' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1245 |
wp_cache_replace_line('define\(\ \'WPCACHEHOME', "\tdefine( 'WPCACHEHOME', WP_CONTENT_DIR . \"{$dir}/\" );", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1246 |
} elseif( is_file( dirname(__FILE__) . '/wp-super-cache/wp-cache-config-sample.php' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1247 |
wp_cache_replace_line('define\(\ \'WPCACHEHOME', "\tdefine( 'WPCACHEHOME', WP_CONTENT_DIR . \"{$dir}/wp-super-cache/\" );", $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1248 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1249 |
$new = true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1250 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1251 |
if( $sem_id == 5419 && $cache_path != '' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1252 |
$sem_id = crc32( $_SERVER[ 'HTTP_HOST' ] . $cache_path ) & 0x7fffffff;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1253 |
wp_cache_replace_line('sem_id', '$sem_id = ' . $sem_id . ';', $wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1254 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1255 |
require($wp_cache_config_file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1256 |
return true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1257 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1258 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1259 |
function wp_cache_create_advanced_cache() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1260 |
global $wp_cache_link, $wp_cache_file;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1261 |
$ret = true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1262 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1263 |
$file = file_get_contents( $wp_cache_file );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1264 |
$file = str_replace( 'CACHEHOME', constant( 'WPCACHEHOME' ), $file );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1265 |
$fp = @fopen( $wp_cache_link, 'w' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1266 |
if( $fp ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1267 |
fputs( $fp, $file );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1268 |
fclose( $fp );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1269 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1270 |
$ret = false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1271 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1272 |
return $ret;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1273 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1274 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1275 |
function wp_cache_check_link() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1276 |
global $wp_cache_link, $wp_cache_file;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1277 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1278 |
$ret = true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1279 |
if( file_exists($wp_cache_link) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1280 |
$file = file_get_contents( $wp_cache_link );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1281 |
if( strpos( $file, "WP SUPER CACHE 0.8.9.1" ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1282 |
return true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1283 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1284 |
if( !@unlink($wp_cache_link) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1285 |
$ret = false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1286 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1287 |
$ret = wp_cache_create_advanced_cache();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1288 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1289 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1290 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1291 |
$ret = wp_cache_create_advanced_cache();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1292 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1293 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1294 |
if( false == $ret ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1295 |
echo "<h3>" . __( 'Warning', 'wp-super-cache' ) . "! <em>" . sprintf( __( '%s/advanced-cache.php</em> does not exist or cannot be updated.', 'wp-super-cache' ), WP_CONTENT_DIR ) . "</h3>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1296 |
echo "<p><ul><li>" . __( '1. If it already exists please delete the file first.', 'wp-super-cache' ) . "</li>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1297 |
echo "<li>" . sprintf( __( '2. Make %1$s writable using the chmod command through your ftp or server software. (<em>chmod 777 %1$s</em>) and refresh this page. This is only a temporary measure and you’ll have to make it read only afterwards again. (Change 777 to 755 in the previous command)', 'wp-super-cache' ), WP_CONTENT_DIR ) . "</li>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1298 |
echo "<li>" . sprintf( __( '3. Refresh this page to update <em>%s/advanced-cache.php</em>', 'wp-super-cache' ), WP_CONTENT_DIR ) . "</li></ul>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1299 |
echo sprintf( __( 'If that doesn’t work, make sure the file <em>%s/advanced-cache.php</em> doesn’t exist:', 'wp-super-cache' ), WP_CONTENT_DIR ) . "<ol>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1300 |
printf( __( '<li>1. Open <em>%1$s$wp_cache_file</em> in a text editor.</li><li>2. Change the text <em>CACHEHOME</em> to <em>%2$s</em></li><li>3. Save the file and copy it to <em>%3$s</em> and refresh this page.</li>', 'wp-super-cache' ), $wp_cache_file, WPCACHEHOME, $wp_cache_link );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1301 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1302 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1303 |
return true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1304 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1305 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1306 |
function wp_cache_check_global_config() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1307 |
global $wp_cache_check_wp_config;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1308 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1309 |
if ( !isset( $wp_cache_check_wp_config ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1310 |
return true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1311 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1312 |
if ( file_exists( ABSPATH . 'wp-config.php') ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1313 |
$global = ABSPATH . 'wp-config.php';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1314 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1315 |
$global = dirname(ABSPATH) . '/wp-config.php';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1316 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1317 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1318 |
$line = 'define(\'WP_CACHE\', true);';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1319 |
if (!is_writeable_ACLSafe($global) || !wp_cache_replace_line('define *\( *\'WP_CACHE\'', $line, $global) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1320 |
echo "<p>" . __( "<strong>Error: WP_CACHE is not enabled</strong> in your <code>wp-config.php</code> file and I couldn’t modify it.", 'wp-super-cache' ) . "</p>";;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1321 |
echo "<p>" . sprintf( __( "Edit <code>%s</code> and add the following line:<br /> <code>define('WP_CACHE', true);</code><br />Otherwise, <strong>WP-Cache will not be executed</strong> by Wordpress core. ", 'wp-super-cache' ), $global ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1322 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1323 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1324 |
echo "<div style='border: 1px solid #333; background: #ffffaa; padding: 2px;'>" . __( '<h3>WP_CACHE constant added to wp-config.php</h3><p>If you continue to see this warning message please see point 5 of the <a href="http://wordpress.org/extend/plugins/wp-super-cache/faq/">FAQ</a>. The WP_CACHE line must be moved up.', 'wp-super-cache' ) . "</div>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1325 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1326 |
return true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1327 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1328 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1329 |
function wp_cache_files() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1330 |
global $cache_path, $file_prefix, $cache_max_time, $valid_nonce, $supercachedir, $cache_enabled, $super_cache_enabled, $blog_cache_dir, $cache_compression;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1331 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1332 |
if ( '/' != substr($cache_path, -1)) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1333 |
$cache_path .= '/';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1334 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1335 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1336 |
if ( $valid_nonce ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1337 |
if(isset($_REQUEST['wp_delete_cache'])) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1338 |
wp_cache_clean_cache($file_prefix);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1339 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1340 |
if(isset($_REQUEST['wp_delete_expired'])) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1341 |
wp_cache_clean_expired($file_prefix);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1342 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1343 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1344 |
echo "<a name='listfiles'></a>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1345 |
echo '<fieldset class="options" id="show-this-fieldset"><h3>' . __( 'Cache Contents', 'wp-super-cache' ) . '</h3>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1346 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1347 |
$list_files = false; // it doesn't list supercached files, and removing single pages is buggy
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1348 |
$count = 0;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1349 |
$expired = 0;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1350 |
$now = time();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1351 |
if ( ($handle = @opendir( $blog_cache_dir . 'meta/' )) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1352 |
if ($list_files) echo "<table cellspacing=\"0\" cellpadding=\"5\">";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1353 |
$wp_cache_fsize = 0;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1354 |
if ( $valid_nonce && isset( $_GET[ 'action' ] ) && $_GET[ 'action' ] == 'deletewpcache' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1355 |
$deleteuri = preg_replace( '/[ <>\'\"\r\n\t\(\)]/', '', str_replace( '/index.php', '/', str_replace( '..', '', preg_replace("/(\?.*)?$/", '', base64_decode( $_GET[ 'uri' ] ) ) ) ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1356 |
$deleteuri = str_replace( '\\', '', $deleteuri );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1357 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1358 |
$deleteuri = '';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1359 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1360 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1361 |
if ( $valid_nonce && isset( $_GET[ 'action' ] ) && $_GET[ 'action' ] == 'deletesupercache' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1362 |
$supercacheuri = preg_replace( '/[ <>\'\"\r\n\t\(\)]/', '', str_replace( '/index.php', '/', str_replace( '..', '', preg_replace("/(\?.*)?$/", '', base64_decode( $_GET[ 'uri' ] ) ) ) ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1363 |
$supercacheuri = trailingslashit( str_replace( '\\', '', $supercacheuri ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1364 |
printf( __( "Deleting supercache file: <strong>%s</strong><br />", 'wp-super-cache' ), $supercacheuri );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1365 |
@unlink( $cache_path . 'supercache/' . $supercacheuri . 'index.html' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1366 |
@unlink( $cache_path . 'supercache/' . $supercacheuri . 'index.html.gz' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1367 |
prune_super_cache( $cache_path . 'supercache/' . $supercacheuri . 'page', true );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1368 |
@rmdir( $cache_path . 'supercache/' . $supercacheuri );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1369 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1370 |
while( false !== ($file = readdir($handle))) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1371 |
if ( preg_match("/^$file_prefix.*\.meta/", $file) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1372 |
$content_file = preg_replace("/meta$/", "html", $file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1373 |
$mtime = filemtime( $blog_cache_dir . 'meta/' . $file );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1374 |
if ( ! ( $fsize = @filesize( $blog_cache_dir . $content_file ) ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1375 |
continue; // .meta does not exists
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1376 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1377 |
$age = $now - $mtime;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1378 |
if ( $valid_nonce && $_GET[ 'listfiles' ] ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1379 |
$meta = unserialize( file_get_contents( $blog_cache_dir . 'meta/' . $file ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1380 |
if ( $deleteuri != '' && $meta[ 'uri' ] == $deleteuri ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1381 |
printf( __( "Deleting wp-cache file: <strong>%s</strong><br />", 'wp-super-cache' ), $deleteuri );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1382 |
@unlink( $blog_cache_dir . 'meta/' . $file );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1383 |
@unlink( $blog_cache_dir . $content_file );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1384 |
continue;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1385 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1386 |
$meta[ 'age' ] = $age;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1387 |
if ( $age > $cache_max_time ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1388 |
$expired_list[ $age ][] = $meta;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1389 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1390 |
$cached_list[ $age ][] = $meta;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1391 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1392 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1393 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1394 |
if ( $age > $cache_max_time ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1395 |
$expired++;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1396 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1397 |
$count++;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1398 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1399 |
$wp_cache_fsize += $fsize;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1400 |
$fsize = intval($fsize/1024);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1401 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1402 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1403 |
closedir($handle);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1404 |
if ($list_files) echo "</table>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1405 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1406 |
if( $wp_cache_fsize != 0 ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1407 |
$wp_cache_fsize = $wp_cache_fsize/1024;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1408 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1409 |
$wp_cache_fsize = 0;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1410 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1411 |
if( $wp_cache_fsize > 1024 ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1412 |
$wp_cache_fsize = number_format( $wp_cache_fsize / 1024, 2 ) . "MB";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1413 |
} elseif( $wp_cache_fsize != 0 ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1414 |
$wp_cache_fsize = number_format( $wp_cache_fsize, 2 ) . "KB";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1415 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1416 |
$wp_cache_fsize = '0KB';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1417 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1418 |
if( $cache_enabled == true && $super_cache_enabled == true ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1419 |
$now = time();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1420 |
$sizes = array( 'expired' => 0, 'expired_list' => array(), 'cached' => 0, 'cached_list' => array(), 'ts' => 0 );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1421 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1422 |
if (is_dir($supercachedir)) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1423 |
if( $dh = opendir( $supercachedir ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1424 |
while( ( $entry = readdir( $dh ) ) !== false ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1425 |
if ($entry != '.' && $entry != '..') {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1426 |
$sizes = wpsc_dirsize( trailingslashit( $supercachedir ) . $entry, $sizes );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1427 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1428 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1429 |
closedir($dh);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1430 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1431 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1432 |
$filem = @filemtime( $supercachedir );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1433 |
if(is_file($supercachedir) && $filem + $cache_max_time <= $now ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1434 |
$sizes[ 'expired' ] ++;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1435 |
if ( $valid_nonce && $_GET[ 'listfiles' ] )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1436 |
$sizes[ 'expired_list' ][ str_replace( $cache_path . 'supercache/' , '', $supercachedir ) ] = $now - $filem;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1437 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1438 |
if ( $valid_nonce && $_GET[ 'listfiles' ] && $filem )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1439 |
$sizes[ 'cached_list' ][ str_replace( $cache_path . 'supercache/' , '', $supercachedir ) ] = $now - $filem;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1440 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1441 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1442 |
$sizes[ 'ts' ] = time();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1443 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1444 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1445 |
echo "<p><strong>" . __( 'WP-Cache', 'wp-super-cache' ) . " ({$wp_cache_fsize})</strong></p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1446 |
echo "<ul><li>" . sprintf( __( '%s Cached Pages', 'wp-super-cache' ), $count ) . "</li>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1447 |
echo "<li>" . sprintf( __( '%s Expired Pages', 'wp-super-cache' ), $expired ) . "</li></ul>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1448 |
if( $cache_enabled == true && $super_cache_enabled == true ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1449 |
$fsize = $sizes[ 'fsize' ] / 1024;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1450 |
if( $fsize > 1024 ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1451 |
$fsize = number_format( $fsize / 1024, 2 ) . "MB";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1452 |
} elseif( $fsize != 0 ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1453 |
$fsize = number_format( $fsize, 2 ) . "KB";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1454 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1455 |
$fsize = "0KB";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1456 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1457 |
$divisor = $cache_compression == 1 ? 2 : 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1458 |
echo "<p><strong>" . __( 'WP-Super-Cache', 'wp-super-cache' ) . " ({$fsize})</strong></p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1459 |
echo "<ul><li>" . sprintf( __( '%s Cached Pages', 'wp-super-cache' ), intval( $sizes[ 'cached' ] / $divisor ) ) . "</li>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1460 |
$age = intval(($now - $sizes['ts'])/60);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1461 |
echo "<li>" . sprintf( __( '%s Expired Pages', 'wp-super-cache' ), intval( $sizes[ 'expired' ] / $divisor ) ) . "</li></ul>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1462 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1463 |
if ( $valid_nonce && $_GET[ 'listfiles' ] ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1464 |
echo "<div style='padding: 10px; border: 1px solid #333; height: 400px; width: 70%; overflow: auto'>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1465 |
if ( is_array( $cached_list ) && !empty( $cached_list ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1466 |
echo "<h4>" . __( 'Fresh WP-Cached Files', 'wp-super-cache' ) . "</h4>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1467 |
echo "<table class='widefat'><tr><th>#</th><th>" . __( 'URI', 'wp-super-cache' ) . "</th><th>" . __( 'Key', 'wp-super-cache' ) . "</th><th>" . __( 'Age', 'wp-super-cache' ) . "</th><th>" . __( 'Delete', 'wp-super-cache' ) . "</th></tr>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1468 |
$c = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1469 |
$flip = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1470 |
ksort( $cached_list );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1471 |
foreach( $cached_list as $age => $d ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1472 |
foreach( $d as $details ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1473 |
$bg = $flip ? 'style="background: #EAEAEA;"' : '';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1474 |
echo "<tr $bg><td>$c</td><td> <a href='http://{$details[ 'uri' ]}'>" . $details[ 'uri' ] . "</a></td><td> " . str_replace( $details[ 'uri' ], '', $details[ 'key' ] ) . "</td><td> {$age}</td><td><a href='" . wp_nonce_url( add_query_arg( array( 'page' => 'wpsupercache', 'action' => 'deletewpcache', 'uri' => base64_encode( $details[ 'uri' ] ) ) ), 'wp-cache' ) . "#listfiles'>X</a></td></tr>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1475 |
$flip = !$flip;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1476 |
$c++;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1477 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1478 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1479 |
echo "</table>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1480 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1481 |
if ( is_array( $expired_list ) && !empty( $expired_list ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1482 |
echo "<h4>" . __( 'Stale WP-Cached Files', 'wp-super-cache' ) . "</h4>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1483 |
echo "<table class='widefat'><tr><th>#</th><th>" . __( 'URI', 'wp-super-cache' ) . "</th><th>" . __( 'Key', 'wp-super-cache' ) . "</th><th>" . __( 'Age', 'wp-super-cache' ) . "</th><th>" . __( 'Delete', 'wp-super-cache' ) . "</th></tr>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1484 |
$c = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1485 |
$flip = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1486 |
ksort( $expired_list );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1487 |
foreach( $expired_list as $age => $d ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1488 |
foreach( $d as $details ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1489 |
$bg = $flip ? 'style="background: #EAEAEA;"' : '';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1490 |
echo "<tr $bg><td>$c</td><td> <a href='http://{$details[ 'uri' ]}'>" . $details[ 'uri' ] . "</a></td><td> " . str_replace( $details[ 'uri' ], '', $details[ 'key' ] ) . "</td><td> {$age}</td><td><a href='" . wp_nonce_url( add_query_arg( array( 'page' => 'wpsupercache', 'action' => 'deletewpcache', 'uri' => base64_encode( $details[ 'uri' ] ) ) ), 'wp-cache' ) . "#listfiles'>X</a></td></tr>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1491 |
$flip = !$flip;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1492 |
$c++;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1493 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1494 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1495 |
echo "</table>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1496 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1497 |
if ( is_array( $sizes[ 'cached_list' ] ) & !empty( $sizes[ 'cached_list' ] ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1498 |
echo "<h4>" . __( 'Fresh Super Cached Files', 'wp-super-cache' ) . "</h4>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1499 |
echo "<table class='widefat'><tr><th>#</th><th>" . __( 'URI', 'wp-super-cache' ) . "</th><th>" . __( 'Age', 'wp-super-cache' ) . "</th><th>" . __( 'Delete', 'wp-super-cache' ) . "</th></tr>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1500 |
$c = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1501 |
$flip = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1502 |
ksort( $sizes[ 'cached_list' ] );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1503 |
foreach( $sizes[ 'cached_list' ] as $age => $d ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1504 |
foreach( $d as $uri => $n ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1505 |
$bg = $flip ? 'style="background: #EAEAEA;"' : '';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1506 |
echo "<tr $bg><td>$c</td><td> <a href='http://{$uri}'>" . $uri . "</a></td><td>$age</td><td><a href='" . wp_nonce_url( add_query_arg( array( 'page' => 'wpsupercache', 'action' => 'deletesupercache', 'uri' => base64_encode( $uri ) ) ), 'wp-cache' ) . "#listfiles'>X</a></td></tr>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1507 |
$flip = !$flip;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1508 |
$c++;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1509 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1510 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1511 |
echo "</table>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1512 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1513 |
if ( is_array( $sizes[ 'expired_list' ] ) && !empty( $sizes[ 'expired_list' ] ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1514 |
echo "<h4>" . __( 'Stale Super Cached Files', 'wp-super-cache' ) . "</h4>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1515 |
echo "<table class='widefat'><tr><th>#</th><th>" . __( 'URI', 'wp-super-cache' ) . "</th><th>" . __( 'Age', 'wp-super-cache' ) . "</th><th>" . __( 'Delete', 'wp-super-cache' ) . "</th></tr>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1516 |
$c = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1517 |
$flip = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1518 |
ksort( $sizes[ 'expired_list' ] );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1519 |
foreach( $sizes[ 'expired_list' ] as $age => $d ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1520 |
foreach( $d as $uri => $n ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1521 |
$bg = $flip ? 'style="background: #EAEAEA;"' : '';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1522 |
echo "<tr $bg><td>$c</td><td> <a href='http://{$uri}'>" . $uri . "</a></td><td>$age</td><td><a href='" . wp_nonce_url( add_query_arg( array( 'page' => 'wpsupercache', 'action' => 'deletesupercache', 'uri' => base64_encode( $uri ) ) ), 'wp-cache' ) . "#listfiles'>X</a></td></tr>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1523 |
$flip = !$flip;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1524 |
$c++;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1525 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1526 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1527 |
echo "</table>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1528 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1529 |
echo "</div>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1530 |
echo "<p><a href='?page=wpsupercache#top'>" . __( 'Hide file list', 'wp-super-cache' ) . "</a></p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1531 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1532 |
echo "<p><a href='" . wp_nonce_url( add_query_arg( array( 'page' => 'wpsupercache', 'listfiles' => '1' ) ), 'wp-cache' ) . "#listfiles'>" . __( 'List all cached files', 'wp-super-cache' ) . "</a></p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1533 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1534 |
$last_gc = get_option( "wpsupercache_gc_time" );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1535 |
if( $last_gc ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1536 |
$next_gc = $cache_max_time < 1800 ? $cache_max_time : 600;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1537 |
$next_gc_mins = ( time() - $last_gc );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1538 |
echo "<p>" . sprintf( __( '<strong>Garbage Collection</strong><br />Last GC was <strong>%s</strong> minutes ago<br />', 'wp-super-cache' ), date( 'i:s', $next_gc_mins ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1539 |
printf( __( "Next GC in <strong>%s</strong> minutes", 'wp-super-cache' ), date( 'i:s', $next_gc - $next_gc_mins ) ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1540 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1541 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1542 |
echo "<p>" . sprintf( __( 'Expired files are files older than %s seconds. They are still used by the plugin and are deleted periodically.', 'wp-super-cache' ), $cache_max_time ) . "</p>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1543 |
echo '<form name="wp_cache_content_expired" action="#listfiles" method="post">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1544 |
echo '<input type="hidden" name="wp_delete_expired" />';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1545 |
echo '<div class="submit" style="float:left"><input type="submit" ' . SUBMITDISABLED . 'value="' . __( 'Delete Expired', 'wp-super-cache' ) . ' »" /></div>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1546 |
wp_nonce_field('wp-cache');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1547 |
echo "</form>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1548 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1549 |
echo '<form name="wp_cache_content_delete" action="#listfiles" method="post">';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1550 |
echo '<input type="hidden" name="wp_delete_cache" />';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1551 |
echo '<div class="submit" style="float:left;margin-left:10px"><input id="deletepost" type="submit" ' . SUBMITDISABLED . 'value="' . __( 'Delete Cache', 'wp-super-cache' ) . ' »" /></div>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1552 |
wp_nonce_field('wp-cache');
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1553 |
echo "</form>\n";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1554 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1555 |
echo '</fieldset>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1556 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1557 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1558 |
function delete_cache_dashboard() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1559 |
if( function_exists( 'is_site_admin' ) && !is_site_admin() )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1560 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1561 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1562 |
if( function_exists('current_user_can') && !current_user_can('manage_options') )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1563 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1564 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1565 |
echo "<li><a href='" . wp_nonce_url( 'options-general.php?page=wpsupercache&wp_delete_cache=1', 'wp-cache' ) . "' target='_blank' title='" . __( 'Delete Super Cache cached files (opens in new window)', 'wp-super-cache' ) . "'>" . __( 'Delete Cache', 'wp-super-cache' ) . "</a></li>";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1566 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1567 |
add_action( 'dashmenu', 'delete_cache_dashboard' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1568 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1569 |
function wpsc_dirsize($directory, $sizes) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1570 |
global $cache_max_time, $cache_path, $valid_nonce;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1571 |
$now = time();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1572 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1573 |
if (is_dir($directory)) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1574 |
if( $dh = opendir( $directory ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1575 |
while( ( $entry = readdir( $dh ) ) !== false ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1576 |
if ($entry != '.' && $entry != '..') {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1577 |
$sizes = wpsc_dirsize( trailingslashit( $directory ) . $entry, $sizes );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1578 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1579 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1580 |
closedir($dh);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1581 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1582 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1583 |
if(is_file($directory) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1584 |
$filem = filemtime( $directory );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1585 |
if( $filem + $cache_max_time <= $now ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1586 |
$sizes[ 'expired' ]+=1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1587 |
if ( $valid_nonce && $_GET[ 'listfiles' ] )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1588 |
$sizes[ 'expired_list' ][ $now - $filem ][ str_replace( $cache_path . 'supercache/' , '', str_replace( 'index.html', '', str_replace( 'index.html.gz', '', $directory ) ) ) ] = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1589 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1590 |
$sizes[ 'cached' ]+=1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1591 |
if ( $valid_nonce && $_GET[ 'listfiles' ] )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1592 |
$sizes[ 'cached_list' ][ $now - $filem ][ str_replace( $cache_path . 'supercache/' , '', str_replace( 'index.html', '', str_replace( 'index.html.gz', '', $directory ) ) ) ] = 1;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1593 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1594 |
if ( ! isset( $sizes[ 'fsize' ] ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1595 |
$sizes[ 'fsize' ] = @filesize( $directory );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1596 |
else
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1597 |
$sizes[ 'fsize' ] += @filesize( $directory );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1598 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1599 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1600 |
return $sizes;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1601 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1602 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1603 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1604 |
function wp_cache_clean_cache($file_prefix) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1605 |
global $cache_path, $supercachedir, $blog_cache_dir;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1606 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1607 |
// If phase2 was compiled, use its function to avoid race-conditions
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1608 |
if(function_exists('wp_cache_phase2_clean_cache')) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1609 |
if (function_exists ('prune_super_cache')) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1610 |
if( is_dir( $supercachedir ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1611 |
prune_super_cache( $supercachedir, true );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1612 |
} elseif( is_dir( $supercachedir . '.disabled' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1613 |
prune_super_cache( $supercachedir . '.disabled', true );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1614 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1615 |
prune_super_cache( $cache_path, true );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1616 |
$_POST[ 'super_cache_stats' ] = 1; // regenerate super cache stats;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1617 |
} elseif ( isset( $GLOBALS[ 'wp_super_cache_debug' ] ) && $GLOBALS[ 'wp_super_cache_debug' ] ) wp_cache_debug( 'Warning! prune_super_cache() not found in wp-cache.php', 1 );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1618 |
return wp_cache_phase2_clean_cache($file_prefix);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1619 |
} elseif ( isset( $GLOBALS[ 'wp_super_cache_debug' ] ) && $GLOBALS[ 'wp_super_cache_debug' ] ) wp_cache_debug( 'Warning! wp_cache_phase2_clean_cache() not found in wp-cache.php', 1 );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1620 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1621 |
$expr = "/^$file_prefix/";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1622 |
if ( ($handle = @opendir( $blog_cache_dir )) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1623 |
while ( false !== ($file = readdir($handle))) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1624 |
if ( preg_match($expr, $file) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1625 |
@unlink( $blog_cache_dir . $file);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1626 |
@unlink( $blog_cache_dir . 'meta/' . str_replace( '.html', '.meta', $file ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1627 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1628 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1629 |
closedir($handle);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1630 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1631 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1632 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1633 |
function wp_cache_clean_expired($file_prefix) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1634 |
global $cache_path, $cache_max_time, $blog_cache_dir;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1635 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1636 |
// If phase2 was compiled, use its function to avoid race-conditions
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1637 |
if(function_exists('wp_cache_phase2_clean_expired')) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1638 |
if (function_exists ('prune_super_cache')) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1639 |
$dir = $cache_path . 'supercache/' . preg_replace('/:.*$/', '', $_SERVER["HTTP_HOST"]);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1640 |
if( is_dir( $dir ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1641 |
prune_super_cache( $dir );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1642 |
} elseif( is_dir( $dir . '.disabled' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1643 |
prune_super_cache( $dir . '.disabled' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1644 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1645 |
$_POST[ 'super_cache_stats' ] = 1; // regenerate super cache stats;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1646 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1647 |
return wp_cache_phase2_clean_expired($file_prefix);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1648 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1649 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1650 |
$expr = "/^$file_prefix/";
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1651 |
$now = time();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1652 |
if ( ($handle = @opendir( $blog_cache_dir )) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1653 |
while ( false !== ($file = readdir($handle))) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1654 |
if ( preg_match( $expr, $file ) &&
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1655 |
( filemtime( $blog_cache_dir . $file ) + $cache_max_time ) <= $now ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1656 |
@unlink( $blog_cache_dir . $file );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1657 |
@unlink( $blog_cache_dir . 'meta/' . str_replace( '.html', '.meta', $file ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1658 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1659 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1660 |
closedir($handle);
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1661 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1662 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1663 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1664 |
function wpsc_remove_marker( $filename, $marker ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1665 |
if (!file_exists( $filename ) || is_writeable_ACLSafe( $filename ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1666 |
if (!file_exists( $filename ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1667 |
return '';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1668 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1669 |
$markerdata = explode( "\n", implode( '', file( $filename ) ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1670 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1671 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1672 |
$f = fopen( $filename, 'w' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1673 |
$foundit = false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1674 |
if ( $markerdata ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1675 |
$state = true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1676 |
foreach ( $markerdata as $n => $markerline ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1677 |
if (strpos($markerline, '# BEGIN ' . $marker) !== false)
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1678 |
$state = false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1679 |
if ( $state ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1680 |
if ( $n + 1 < count( $markerdata ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1681 |
fwrite( $f, "{$markerline}\n" );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1682 |
else
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1683 |
fwrite( $f, "{$markerline}" );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1684 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1685 |
if (strpos($markerline, '# END ' . $marker) !== false) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1686 |
$state = true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1687 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1688 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1689 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1690 |
return true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1691 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1692 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1693 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1694 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1695 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1696 |
function wp_super_cache_footer() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1697 |
?><p id='supercache'><?php printf( __( '%1$s is Digg proof thanks to caching by %2$s', 'wp-super-cache' ), bloginfo( 'name' ), '<a href="http://ocaoimh.ie/wp-super-cache/">WP Super Cache</a>' ); ?></p><?php
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1698 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1699 |
if( isset( $wp_cache_hello_world ) && $wp_cache_hello_world )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1700 |
add_action( 'wp_footer', 'wp_super_cache_footer' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1701 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1702 |
if( get_option( 'gzipcompression' ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1703 |
update_option( 'gzipcompression', 0 );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1704 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1705 |
// Catch 404 requests. Themes that use query_posts() destroy $wp_query->is_404
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1706 |
function wp_cache_catch_404() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1707 |
global $wp_cache_404;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1708 |
$wp_cache_404 = false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1709 |
if( is_404() )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1710 |
$wp_cache_404 = true;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1711 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1712 |
add_action( 'template_redirect', 'wp_cache_catch_404' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1713 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1714 |
function wp_cache_favorite_action( $actions ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1715 |
if( function_exists( 'is_site_admin' ) && !is_site_admin() )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1716 |
return $actions;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1717 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1718 |
if( function_exists('current_user_can') && !current_user_can('manage_options') )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1719 |
return $actions;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1720 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1721 |
$actions[ wp_nonce_url( 'options-general.php?page=wpsupercache&wp_delete_cache=1', 'wp-cache' ) ] = array( __( 'Delete Cache', 'wp-super-cache' ), 'manage_options' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1722 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1723 |
return $actions;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1724 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1725 |
add_filter( 'favorite_actions', 'wp_cache_favorite_action' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1726 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1727 |
function wp_cache_plugin_notice( $plugin ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1728 |
global $cache_enabled;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1729 |
if( $plugin == 'wp-super-cache/wp-cache.php' && !$cache_enabled && function_exists( "admin_url" ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1730 |
echo '<td colspan="5" class="plugin-update">' . sprintf( __( 'WP Super Cache must be configured. Go to <a href="%s">the admin page</a> to enable and configure the plugin.' ), admin_url( 'options-general.php?page=wpsupercache' ) ) . '</td>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1731 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1732 |
add_action( 'after_plugin_row', 'wp_cache_plugin_notice' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1733 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1734 |
function wp_cache_plugin_actions( $links, $file ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1735 |
if( $file == 'wp-super-cache/wp-cache.php' && function_exists( "admin_url" ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1736 |
$settings_link = '<a href="' . admin_url( 'options-general.php?page=wpsupercache' ) . '">' . __('Settings') . '</a>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1737 |
array_unshift( $links, $settings_link ); // before other links
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1738 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1739 |
return $links;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1740 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1741 |
add_filter( 'plugin_action_links', 'wp_cache_plugin_actions', 10, 2 );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1742 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1743 |
function wp_cache_admin_notice() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1744 |
global $cache_enabled;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1745 |
if( substr( $_SERVER["PHP_SELF"], -11 ) == 'plugins.php' && !$cache_enabled && function_exists( "admin_url" ) )
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1746 |
echo '<div class="error"><p><strong>' . sprintf( __('WP Super Cache is disabled. Please go to the <a href="%s">plugin admin page</a> to enable caching.', 'wp-super-cache' ), admin_url( 'options-general.php?page=wpsupercache' ) ) . '</strong></p></div>';
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1747 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1748 |
add_action( 'admin_notices', 'wp_cache_admin_notice' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1749 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1750 |
function wp_cache_check_site() {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1751 |
global $wp_super_cache_front_page_check, $wp_super_cache_front_page_clear, $wp_super_cache_front_page_text, $wp_super_cache_front_page_notification;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1752 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1753 |
if ( !isset( $wp_super_cache_front_page_check ) || ( isset( $wp_super_cache_front_page_check ) && $wp_super_cache_front_page_check == 0 ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1754 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1755 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1756 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1757 |
if ( function_exists( "wp_remote_get" ) == false ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1758 |
return false;
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1759 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1760 |
$front_page = wp_remote_get( site_url(), array('timeout' => 60, 'blocking' => true ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1761 |
if( is_array( $front_page ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1762 |
// Check for gzipped front page
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1763 |
if ( $front_page[ 'headers' ][ 'content-type' ] == 'application/x-gzip' ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1764 |
if ( !isset( $wp_super_cache_front_page_clear ) || ( isset( $wp_super_cache_front_page_clear ) && $wp_super_cache_front_page_clear == 0 ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1765 |
wp_mail( get_option( 'admin_email' ), sprintf( __( '[%s] Front page is gzipped! Please clear cache!', 'wp-super-cache' ), site_url() ), sprintf( __( "Please visit %s to clear the cache as the front page of your site is now downloading!", 'wp-super-cache' ), trailingslashit( site_url() ) . "wp-admin/options-general.php?page=wpsupercache" ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1766 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1767 |
wp_cache_clear_cache();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1768 |
wp_mail( get_option( 'admin_email' ), sprintf( __( '[%s] Front page is gzipped! Cache Cleared!', 'wp-super-cache' ), site_url() ), sprintf( __( "The cache on your blog has been cleared because the front page of your site is now downloading. Please visit %s to verify the cache has been cleared.", 'wp-super-cache' ), trailingslashit( site_url() ) . "wp-admin/options-general.php?page=wpsupercache" ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1769 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1770 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1771 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1772 |
// Check for broken front page
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1773 |
if ( isset( $wp_super_cache_front_page_text ) && $wp_super_cache_front_page_text != '' && false === strpos( $front_page[ 'body' ], $wp_super_cache_front_page_text ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1774 |
if ( !isset( $wp_super_cache_front_page_clear ) || ( isset( $wp_super_cache_front_page_clear ) && $wp_super_cache_front_page_clear == 0 ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1775 |
wp_mail( get_option( 'admin_email' ), sprintf( __( '[%s] Front page is not correct! Please clear cache!', 'wp-super-cache' ), site_url() ), sprintf( __( 'Please visit %1$s to clear the cache as the front page of your site is not correct and missing the text, "%2$s"!', 'wp-super-cache' ), trailingslashit( site_url() ) . "wp-admin/options-general.php?page=wpsupercache", $wp_super_cache_front_page_text ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1776 |
} else {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1777 |
wp_cache_clear_cache();
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1778 |
wp_mail( get_option( 'admin_email' ), sprintf( __( '[%s] Front page is not correct! Cache Cleared!', 'wp-super-cache' ), site_url() ), sprintf( __( 'The cache on your blog has been cleared because the front page of your site is missing the text "%2$s". Please visit %1$s to verify the cache has been cleared.', 'wp-super-cache' ), trailingslashit( site_url() ) . "wp-admin/options-general.php?page=wpsupercache", $wp_super_cache_front_page_text ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1779 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1780 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1781 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1782 |
if ( isset( $wp_super_cache_front_page_notification ) && $wp_super_cache_front_page_notification == 1 ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1783 |
wp_mail( get_option( 'admin_email' ), sprintf( __( '[%s] Front page check!', 'wp-super-cache' ), site_url() ), sprintf( __( "WP Super Cache has checked the front page of your blog. Please visit %s if you would like to disable this.", 'wp-super-cache' ) . "\n\n", trailingslashit( site_url() ) . "wp-admin/options-general.php?page=wpsupercache#debug" ) . print_r( $front_page, 1 ) );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1784 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1785 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1786 |
if ( !wp_next_scheduled( 'wp_cache_check_site_hook' ) ) {
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1787 |
wp_schedule_single_event( time() + 360 , 'wp_cache_check_site_hook' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1788 |
if ( isset( $GLOBALS[ 'wp_super_cache_debug' ] ) && $GLOBALS[ 'wp_super_cache_debug' ] ) wp_cache_debug( 'scheduled wp_cache_check_site_hook for 360 seconds time.', 2 );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1789 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1790 |
}
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1791 |
add_action( 'wp_cache_check_site_hook', 'wp_cache_check_site' );
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1792 |
?>
|