Version Description
Download this release
Release Info
| Developer | donncha |
| Plugin | |
| Version | 1.6.1 |
| Comparing to | |
| See all releases | |
Code changes from version 1.6.0 to 1.6.1
- readme.txt +6 -2
- rest/load.php +1 -1
- wp-cache-phase2.php +17 -2
- wp-cache.php +40 -9
readme.txt
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
* Contributors: donncha, automattic, kraftbj
|
| 3 |
* Tags: performance, caching, wp-cache, wp-super-cache, cache
|
| 4 |
* Tested up to: 4.9.5
|
| 5 |
-
* Stable tag: 1.6.
|
| 6 |
* Requires at least: 3.0
|
| 7 |
* Requires PHP: 5.2.4
|
| 8 |
* License: GPLv2 or later
|
|
@@ -261,6 +261,10 @@ Your theme is probably responsive which means it resizes the page to suit whatev
|
|
| 261 |
|
| 262 |
## Changelog ##
|
| 263 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 264 |
|
| 265 |
### 1.6.0 ###
|
| 266 |
* Fix issues in multisite plugin (#501)
|
|
@@ -280,7 +284,7 @@ Your theme is probably responsive which means it resizes the page to suit whatev
|
|
| 280 |
* Add ipad to mobile list (#525)
|
| 281 |
* Hide opcache_invalidate() warnings since it's disabled some places. (#543)
|
| 282 |
* Check that HTTP_REFERER exists before checking it. (#544)
|
| 283 |
-
* Replace Cron View" with WP
|
| 284 |
* adding hook (wp_cache_cleared) for full cache purges (#537)
|
| 285 |
|
| 286 |
|
| 2 |
* Contributors: donncha, automattic, kraftbj
|
| 3 |
* Tags: performance, caching, wp-cache, wp-super-cache, cache
|
| 4 |
* Tested up to: 4.9.5
|
| 5 |
+
* Stable tag: 1.6.1
|
| 6 |
* Requires at least: 3.0
|
| 7 |
* Requires PHP: 5.2.4
|
| 8 |
* License: GPLv2 or later
|
| 261 |
|
| 262 |
## Changelog ##
|
| 263 |
|
| 264 |
+
### 1.6.1 ###
|
| 265 |
+
* Fix the name of the WP Crontrol plugin. (#549)
|
| 266 |
+
* Handle errors during deactivation/uninstall by email rather than exiting. (#551)
|
| 267 |
+
* Add a notice when settings can't be updated. (#552 and #553)
|
| 268 |
|
| 269 |
### 1.6.0 ###
|
| 270 |
* Fix issues in multisite plugin (#501)
|
| 284 |
* Add ipad to mobile list (#525)
|
| 285 |
* Hide opcache_invalidate() warnings since it's disabled some places. (#543)
|
| 286 |
* Check that HTTP_REFERER exists before checking it. (#544)
|
| 287 |
+
* Replace Cron View" with WP Crontrol because it's still updated. (#546)
|
| 288 |
* adding hook (wp_cache_cleared) for full cache purges (#537)
|
| 289 |
|
| 290 |
|
rest/load.php
CHANGED
|
@@ -35,7 +35,7 @@ class WP_Super_Cache_Router {
|
|
| 35 |
$preload_cache = new WP_Super_Cache_Rest_Preload();
|
| 36 |
$get_status = new WP_Super_Cache_Rest_Get_Status();
|
| 37 |
$get_plugins = new WP_Super_Cache_Rest_Get_Plugins();
|
| 38 |
-
$update_plugins = new
|
| 39 |
|
| 40 |
register_rest_route( $namespace, '/settings', array(
|
| 41 |
array(
|
| 35 |
$preload_cache = new WP_Super_Cache_Rest_Preload();
|
| 36 |
$get_status = new WP_Super_Cache_Rest_Get_Status();
|
| 37 |
$get_plugins = new WP_Super_Cache_Rest_Get_Plugins();
|
| 38 |
+
$update_plugins = new WP_Super_Cache_Rest_Update_Plugins();
|
| 39 |
|
| 40 |
register_rest_route( $namespace, '/settings', array(
|
| 41 |
array(
|
wp-cache-phase2.php
CHANGED
|
@@ -1046,13 +1046,22 @@ function wp_cache_setting( $field, $value ) {
|
|
| 1046 |
|
| 1047 |
function wp_cache_replace_line( $old, $new, $my_file ) {
|
| 1048 |
if ( @is_file( $my_file ) == false ) {
|
|
|
|
| 1049 |
return false;
|
| 1050 |
}
|
| 1051 |
if (!is_writeable_ACLSafe($my_file)) {
|
|
|
|
| 1052 |
trigger_error( "Error: file $my_file is not writable." );
|
| 1053 |
return false;
|
| 1054 |
}
|
| 1055 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1056 |
$found = false;
|
| 1057 |
$loaded = false;
|
| 1058 |
$c = 0;
|
|
@@ -1064,6 +1073,7 @@ function wp_cache_replace_line( $old, $new, $my_file ) {
|
|
| 1064 |
} else {
|
| 1065 |
$c++;
|
| 1066 |
if ( $c > 100 ) {
|
|
|
|
| 1067 |
trigger_error( "wp_cache_replace_line: Error - file $my_file could not be loaded." );
|
| 1068 |
return false;
|
| 1069 |
}
|
|
@@ -1076,9 +1086,9 @@ function wp_cache_replace_line( $old, $new, $my_file ) {
|
|
| 1076 |
}
|
| 1077 |
}
|
| 1078 |
|
| 1079 |
-
$tmp_file = dirname( $my_file ) . '/' . mt_rand() . '.php';
|
| 1080 |
$fd = fopen( $tmp_file, 'w' );
|
| 1081 |
if ( ! $fd ) {
|
|
|
|
| 1082 |
trigger_error( "wp_cache_replace_line: Error - could not write to $tmp_file" );
|
| 1083 |
return false;
|
| 1084 |
}
|
|
@@ -1103,7 +1113,12 @@ function wp_cache_replace_line( $old, $new, $my_file ) {
|
|
| 1103 |
}
|
| 1104 |
}
|
| 1105 |
fclose( $fd );
|
| 1106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1107 |
|
| 1108 |
if ( function_exists( "opcache_invalidate" ) ) {
|
| 1109 |
@opcache_invalidate( $my_file );
|
| 1046 |
|
| 1047 |
function wp_cache_replace_line( $old, $new, $my_file ) {
|
| 1048 |
if ( @is_file( $my_file ) == false ) {
|
| 1049 |
+
set_transient( 'wpsc_config_error', 'config_file_missing', 10 );
|
| 1050 |
return false;
|
| 1051 |
}
|
| 1052 |
if (!is_writeable_ACLSafe($my_file)) {
|
| 1053 |
+
set_transient( 'wpsc_config_error', 'config_file_ro', 10 );
|
| 1054 |
trigger_error( "Error: file $my_file is not writable." );
|
| 1055 |
return false;
|
| 1056 |
}
|
| 1057 |
|
| 1058 |
+
$tmp_file = tempnam( sys_get_temp_dir(), 'wpsc' );
|
| 1059 |
+
if ( ! is_writeable_ACLSafe( $tmp_file ) ) {
|
| 1060 |
+
set_transient( 'wpsc_config_error', 'tmp_file_ro', 10 );
|
| 1061 |
+
trigger_error( "Error: temporary file $tmp_file is not writable. Make sure directory is writeable." );
|
| 1062 |
+
return false;
|
| 1063 |
+
}
|
| 1064 |
+
|
| 1065 |
$found = false;
|
| 1066 |
$loaded = false;
|
| 1067 |
$c = 0;
|
| 1073 |
} else {
|
| 1074 |
$c++;
|
| 1075 |
if ( $c > 100 ) {
|
| 1076 |
+
set_transient( 'wpsc_config_error', 'config_file_not_loaded', 10 );
|
| 1077 |
trigger_error( "wp_cache_replace_line: Error - file $my_file could not be loaded." );
|
| 1078 |
return false;
|
| 1079 |
}
|
| 1086 |
}
|
| 1087 |
}
|
| 1088 |
|
|
|
|
| 1089 |
$fd = fopen( $tmp_file, 'w' );
|
| 1090 |
if ( ! $fd ) {
|
| 1091 |
+
set_transient( 'wpsc_config_error', 'config_file_ro', 10 );
|
| 1092 |
trigger_error( "wp_cache_replace_line: Error - could not write to $tmp_file" );
|
| 1093 |
return false;
|
| 1094 |
}
|
| 1113 |
}
|
| 1114 |
}
|
| 1115 |
fclose( $fd );
|
| 1116 |
+
|
| 1117 |
+
if ( ! rename( $tmp_file, $my_file ) ) {
|
| 1118 |
+
set_transient( 'wpsc_config_error', 'error_move_tmp_config_file', 10 );
|
| 1119 |
+
trigger_error( "wp_cache_replace_line: Error - could not rename $tmp_file to $my_file" );
|
| 1120 |
+
return false;
|
| 1121 |
+
}
|
| 1122 |
|
| 1123 |
if ( function_exists( "opcache_invalidate" ) ) {
|
| 1124 |
@opcache_invalidate( $my_file );
|
wp-cache.php
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
Plugin Name: WP Super Cache
|
| 4 |
Plugin URI: https://wordpress.org/plugins/wp-super-cache/
|
| 5 |
Description: Very fast caching plugin for WordPress.
|
| 6 |
-
Version: 1.6.
|
| 7 |
Author: Automattic
|
| 8 |
Author URI: https://automattic.com/
|
| 9 |
License: GPL2+
|
|
@@ -1276,7 +1276,7 @@ table.wpsc-settings-table {
|
|
| 1276 |
<li><?php printf( __( '<a href="%s">Yahoo! Yslow</a> analyzes web pages and suggests ways to improve their performance based on a set of rules for high performance web pages. Also try the performance tools online at <a href="%s">GTMetrix</a>.', 'wp-super-cache' ), 'http://yslow.org/', 'https://gtmetrix.com/' ); ?></li>
|
| 1277 |
<li><?php printf( __( '<a href="%s">Use Google Libraries</a> allows you to load some commonly used Javascript libraries from Google webservers. Ironically, it may reduce your Yslow score.', 'wp-super-cache' ), 'https://wordpress.org/plugins/use-google-libraries/' ); ?></li>
|
| 1278 |
<li><?php printf( __( '<strong>Advanced users only:</strong> Install an object cache. Choose from <a href="%s">Memcached</a>, <a href="%s">XCache</a>, <a href="%s">eAcccelerator</a> and others.', 'wp-super-cache' ), 'https://wordpress.org/plugins/memcached/', 'https://neosmart.net/WP/XCache/', 'https://neosmart.net/WP/eAccelerator/' ); ?></li>
|
| 1279 |
-
<li><?php printf( __( '<a href="%s">WP
|
| 1280 |
</ul>
|
| 1281 |
|
| 1282 |
<?php
|
|
@@ -2292,6 +2292,37 @@ function wp_cache_index_notice() {
|
|
| 2292 |
}
|
| 2293 |
add_action( 'admin_notices', 'wp_cache_index_notice' );
|
| 2294 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2295 |
function wpsc_dismiss_indexhtml_warning() {
|
| 2296 |
check_ajax_referer( "wpsc-index-dismiss" );
|
| 2297 |
update_site_option( 'wp_super_cache_index_detected', 3 );
|
|
@@ -3601,16 +3632,16 @@ function wp_cache_disable_plugin( $delete_config_file = true ) {
|
|
| 3601 |
$file_not_deleted[] = 'wp-cache-config.php';
|
| 3602 |
}
|
| 3603 |
if ( $file_not_deleted ) {
|
| 3604 |
-
$msg = "
|
| 3605 |
-
$code = "<ul>\n";
|
| 3606 |
foreach( (array)$file_not_deleted as $filename ) {
|
| 3607 |
-
$msg .=
|
| 3608 |
-
$code .= "<li><code>chmod 666 " . WP_CONTENT_DIR . "/{$filename}</code></li>\n";
|
| 3609 |
}
|
| 3610 |
-
$
|
|
|
|
| 3611 |
|
| 3612 |
-
|
| 3613 |
-
|
|
|
|
| 3614 |
}
|
| 3615 |
extract( wpsc_get_htaccess_info() ); // $document_root, $apache_root, $home_path, $home_root, $home_root_lc, $inst_root, $wprules, $scrules, $condition_rules, $rules, $gziprules
|
| 3616 |
if ( $scrules != '' && insert_with_markers( $home_path.'.htaccess', 'WPSuperCache', array() ) ) {
|
| 3 |
Plugin Name: WP Super Cache
|
| 4 |
Plugin URI: https://wordpress.org/plugins/wp-super-cache/
|
| 5 |
Description: Very fast caching plugin for WordPress.
|
| 6 |
+
Version: 1.6.1
|
| 7 |
Author: Automattic
|
| 8 |
Author URI: https://automattic.com/
|
| 9 |
License: GPL2+
|
| 1276 |
<li><?php printf( __( '<a href="%s">Yahoo! Yslow</a> analyzes web pages and suggests ways to improve their performance based on a set of rules for high performance web pages. Also try the performance tools online at <a href="%s">GTMetrix</a>.', 'wp-super-cache' ), 'http://yslow.org/', 'https://gtmetrix.com/' ); ?></li>
|
| 1277 |
<li><?php printf( __( '<a href="%s">Use Google Libraries</a> allows you to load some commonly used Javascript libraries from Google webservers. Ironically, it may reduce your Yslow score.', 'wp-super-cache' ), 'https://wordpress.org/plugins/use-google-libraries/' ); ?></li>
|
| 1278 |
<li><?php printf( __( '<strong>Advanced users only:</strong> Install an object cache. Choose from <a href="%s">Memcached</a>, <a href="%s">XCache</a>, <a href="%s">eAcccelerator</a> and others.', 'wp-super-cache' ), 'https://wordpress.org/plugins/memcached/', 'https://neosmart.net/WP/XCache/', 'https://neosmart.net/WP/eAccelerator/' ); ?></li>
|
| 1279 |
+
<li><?php printf( __( '<a href="%s">WP Crontrol</a> is a useful plugin to use when trying to debug garbage collection and preload problems.', 'wp-super-cache' ), 'https://wordpress.org/plugins/wp-crontrol/' ); ?></li>
|
| 1280 |
</ul>
|
| 1281 |
|
| 1282 |
<?php
|
| 2292 |
}
|
| 2293 |
add_action( 'admin_notices', 'wp_cache_index_notice' );
|
| 2294 |
|
| 2295 |
+
function wpsc_config_file_notices() {
|
| 2296 |
+
global $wp_cache_config_file;
|
| 2297 |
+
if ( ! isset( $_GET['page'] ) || $_GET['page'] != 'wpsupercache' ) {
|
| 2298 |
+
return false;
|
| 2299 |
+
}
|
| 2300 |
+
$notice = get_transient( 'wpsc_config_error' );
|
| 2301 |
+
if ( ! $notice ) {
|
| 2302 |
+
return false;
|
| 2303 |
+
}
|
| 2304 |
+
switch( $notice ) {
|
| 2305 |
+
case 'error_move_tmp_config_file':
|
| 2306 |
+
$msg = sprintf( __( 'Error: Could not rename temporary file to configuration file. Please make sure %s is writeable by the webserver.' ), $wp_cache_config_file );
|
| 2307 |
+
break;
|
| 2308 |
+
case 'config_file_ro':
|
| 2309 |
+
$msg = sprintf( __( 'Error: Configuration file is read only. Please make sure %s is writeable by the webserver.' ), $wp_cache_config_file );
|
| 2310 |
+
break;
|
| 2311 |
+
case 'tmp_file_ro':
|
| 2312 |
+
$msg = sprintf( __( 'Error: The directory containing the configuration file %s is read only. Please make sure it is writeable by the webserver.' ), $wp_cache_config_file );
|
| 2313 |
+
break;
|
| 2314 |
+
case 'config_file_not_loaded':
|
| 2315 |
+
$msg = sprintf( __( 'Error: Configuration file %s could not be loaded. Please reload the page.' ), $wp_cache_config_file );
|
| 2316 |
+
break;
|
| 2317 |
+
case 'config_file_missing':
|
| 2318 |
+
$msg = sprintf( __( 'Error: Configuration file %s s missing. Please reload the page.' ), $wp_cache_config_file );
|
| 2319 |
+
break;
|
| 2320 |
+
|
| 2321 |
+
}
|
| 2322 |
+
echo '<div class="error"><p><strong>' . $msg . '</strong></p></div>';
|
| 2323 |
+
}
|
| 2324 |
+
add_action( 'admin_notices', 'wpsc_config_file_notices' );
|
| 2325 |
+
|
| 2326 |
function wpsc_dismiss_indexhtml_warning() {
|
| 2327 |
check_ajax_referer( "wpsc-index-dismiss" );
|
| 2328 |
update_site_option( 'wp_super_cache_index_detected', 3 );
|
| 3632 |
$file_not_deleted[] = 'wp-cache-config.php';
|
| 3633 |
}
|
| 3634 |
if ( $file_not_deleted ) {
|
| 3635 |
+
$msg = __( "Dear User,\n\nWP Super Cache was removed from your blog or deactivated but some files could\nnot be deleted.\n\n", 'wp-super-cache' );
|
|
|
|
| 3636 |
foreach( (array)$file_not_deleted as $filename ) {
|
| 3637 |
+
$msg .= WP_CONTENT_DIR . "/{$filename}\n";
|
|
|
|
| 3638 |
}
|
| 3639 |
+
$msg .= "\n";
|
| 3640 |
+
$msg .= sprintf( __( "You should delete these files manually.\nYou may need to change the permissions of the files or parent directory.\nYou can read more about this in the Codex at\n%s\n\nThank you.", 'wp-super-cache' ), 'https://codex.wordpress.org/Changing_File_Permissions#About_Chmod' );
|
| 3641 |
|
| 3642 |
+
if ( apply_filters( 'wpsc_send_uninstall_errors', 1 ) ) {
|
| 3643 |
+
wp_mail( get_option( 'admin_email' ), __( 'WP Super Cache: could not delete files', 'wp-super-cache' ), $msg );
|
| 3644 |
+
}
|
| 3645 |
}
|
| 3646 |
extract( wpsc_get_htaccess_info() ); // $document_root, $apache_root, $home_path, $home_root, $home_root_lc, $inst_root, $wprules, $scrules, $condition_rules, $rules, $gziprules
|
| 3647 |
if ( $scrules != '' && insert_with_markers( $home_path.'.htaccess', 'WPSuperCache', array() ) ) {
|
