Version Description
- Update plugin upgrade process for multisite networks (#303)
- Update
wp-config.phpfile handling (#302)
Download this release
Release Info
| Developer | keycdn |
| Plugin | |
| Version | 1.8.7 |
| Comparing to | |
| See all releases | |
Code changes from version 1.8.6 to 1.8.7
- advanced-cache.php +2 -2
- cache-enabler.php +1 -1
- constants.php +1 -1
- inc/cache_enabler.class.php +31 -19
- inc/cache_enabler_disk.class.php +66 -26
- inc/cache_enabler_engine.class.php +3 -0
- readme.txt +15 -11
advanced-cache.php
CHANGED
|
@@ -4,8 +4,8 @@
|
|
| 4 |
*
|
| 5 |
* The advanced-cache.php creation method uses this during the disk setup and
|
| 6 |
* requirements check. You can copy this file to the wp-content directory and edit
|
| 7 |
-
* the $cache_enabler_constants_file value as needed. It will
|
| 8 |
-
* or abandoned.
|
| 9 |
*
|
| 10 |
* @since 1.2.0
|
| 11 |
* @change 1.8.6
|
| 4 |
*
|
| 5 |
* The advanced-cache.php creation method uses this during the disk setup and
|
| 6 |
* requirements check. You can copy this file to the wp-content directory and edit
|
| 7 |
+
* the $cache_enabler_constants_file value as needed. It will automatically delete
|
| 8 |
+
* itself if stale or abandoned.
|
| 9 |
*
|
| 10 |
* @since 1.2.0
|
| 11 |
* @change 1.8.6
|
cache-enabler.php
CHANGED
|
@@ -6,7 +6,7 @@ Description: Simple and fast WordPress caching plugin.
|
|
| 6 |
Author: KeyCDN
|
| 7 |
Author URI: https://www.keycdn.com
|
| 8 |
License: GPLv2 or later
|
| 9 |
-
Version: 1.8.
|
| 10 |
*/
|
| 11 |
|
| 12 |
/*
|
| 6 |
Author: KeyCDN
|
| 7 |
Author URI: https://www.keycdn.com
|
| 8 |
License: GPLv2 or later
|
| 9 |
+
Version: 1.8.7
|
| 10 |
*/
|
| 11 |
|
| 12 |
/*
|
constants.php
CHANGED
|
@@ -6,7 +6,7 @@
|
|
| 6 |
*/
|
| 7 |
|
| 8 |
$cache_enabler_constants = array(
|
| 9 |
-
'CACHE_ENABLER_VERSION' => '1.8.
|
| 10 |
'CACHE_ENABLER_MIN_PHP' => '5.6',
|
| 11 |
'CACHE_ENABLER_MIN_WP' => '5.1',
|
| 12 |
'CACHE_ENABLER_DIR' => __DIR__,
|
| 6 |
*/
|
| 7 |
|
| 8 |
$cache_enabler_constants = array(
|
| 9 |
+
'CACHE_ENABLER_VERSION' => '1.8.7',
|
| 10 |
'CACHE_ENABLER_MIN_PHP' => '5.6',
|
| 11 |
'CACHE_ENABLER_MIN_WP' => '5.1',
|
| 12 |
'CACHE_ENABLER_DIR' => __DIR__,
|
inc/cache_enabler.class.php
CHANGED
|
@@ -232,8 +232,8 @@ final class Cache_Enabler {
|
|
| 232 |
* When the plugin is uninstalled.
|
| 233 |
*
|
| 234 |
* This runs on the 'uninstall_cache-enabler/cache-enabler.php' action. It deletes
|
| 235 |
-
* the 'cache_enabler' option and
|
| 236 |
-
*
|
| 237 |
*
|
| 238 |
* @since 1.0.0
|
| 239 |
* @change 1.6.0
|
|
@@ -313,27 +313,28 @@ final class Cache_Enabler {
|
|
| 313 |
}
|
| 314 |
|
| 315 |
/**
|
| 316 |
-
* Update the disk and backend requirements.
|
| 317 |
*
|
| 318 |
* This update process begins by first deleting the settings and
|
| 319 |
* advanced-cache.php files and then maybe unsets the WP_CACHE constant in the
|
| 320 |
* wp-config.php file. A new advanced-cache.php file is then created and the
|
| 321 |
-
* WP_CACHE constant is maybe set.
|
| 322 |
-
*
|
| 323 |
-
*
|
| 324 |
-
* cache is cleared.
|
| 325 |
*
|
| 326 |
-
* @since
|
|
|
|
| 327 |
*/
|
| 328 |
public static function update() {
|
| 329 |
|
| 330 |
self::update_disk();
|
| 331 |
-
self::
|
| 332 |
-
self::
|
| 333 |
}
|
| 334 |
|
| 335 |
/**
|
| 336 |
-
* Add or update backend requirements.
|
| 337 |
*
|
| 338 |
* This adds or updates the 'cache_enabler' option in the database, which triggers
|
| 339 |
* the creation of the settings file. It will call self::on_update_backend() when
|
|
@@ -369,19 +370,29 @@ final class Cache_Enabler {
|
|
| 369 |
}
|
| 370 |
|
| 371 |
/**
|
| 372 |
-
* Update the disk requirements.
|
| 373 |
*
|
| 374 |
* This deletes the settings and advanced-cache.php files and then maybe unsets
|
| 375 |
* the WP_CACHE constant in the wp-config.php file. A new advanced-cache.php file
|
| 376 |
-
* is then created and the WP_CACHE constant is maybe set.
|
|
|
|
|
|
|
| 377 |
*
|
| 378 |
-
* @since
|
|
|
|
| 379 |
*/
|
| 380 |
public static function update_disk() {
|
| 381 |
|
| 382 |
-
|
| 383 |
-
|
| 384 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 385 |
}
|
| 386 |
|
| 387 |
/**
|
|
@@ -557,12 +568,13 @@ final class Cache_Enabler {
|
|
| 557 |
* Uninstall backend requirements.
|
| 558 |
*
|
| 559 |
* @since 1.5.0
|
| 560 |
-
* @change 1.8.
|
| 561 |
*/
|
| 562 |
private static function uninstall_backend() {
|
| 563 |
|
| 564 |
delete_option( 'cache_enabler' );
|
| 565 |
delete_transient( 'cache_enabler_cache_size' );
|
|
|
|
| 566 |
}
|
| 567 |
|
| 568 |
/**
|
|
@@ -707,7 +719,7 @@ final class Cache_Enabler {
|
|
| 707 |
/**
|
| 708 |
* Get the plugin settings from the database for the current site.
|
| 709 |
*
|
| 710 |
-
* This can update the disk and backend requirements and then clear the
|
| 711 |
* cache if the settings do not exist or are outdated. If that occurs, the
|
| 712 |
* settings after the update will be returned.
|
| 713 |
*
|
| 232 |
* When the plugin is uninstalled.
|
| 233 |
*
|
| 234 |
* This runs on the 'uninstall_cache-enabler/cache-enabler.php' action. It deletes
|
| 235 |
+
* the 'cache_enabler' option and plugin transients from the database for each
|
| 236 |
+
* site in the installation.
|
| 237 |
*
|
| 238 |
* @since 1.0.0
|
| 239 |
* @change 1.6.0
|
| 313 |
}
|
| 314 |
|
| 315 |
/**
|
| 316 |
+
* Update the disk and backend requirements for the current site.
|
| 317 |
*
|
| 318 |
* This update process begins by first deleting the settings and
|
| 319 |
* advanced-cache.php files and then maybe unsets the WP_CACHE constant in the
|
| 320 |
* wp-config.php file. A new advanced-cache.php file is then created and the
|
| 321 |
+
* WP_CACHE constant is maybe set. If a multisite network, the preceding actions
|
| 322 |
+
* will only be done when the first site in the network is updated. Next, the
|
| 323 |
+
* 'cache_enabler' option is updated in the database for the current site, which
|
| 324 |
+
* triggers a new settings file to be created. Lastly, the site cache is cleared.
|
| 325 |
*
|
| 326 |
+
* @since 1.8.0
|
| 327 |
+
* @change 1.8.7
|
| 328 |
*/
|
| 329 |
public static function update() {
|
| 330 |
|
| 331 |
self::update_disk();
|
| 332 |
+
self::update_backend();
|
| 333 |
+
self::clear_site_cache();
|
| 334 |
}
|
| 335 |
|
| 336 |
/**
|
| 337 |
+
* Add or update the backend requirements for the current site.
|
| 338 |
*
|
| 339 |
* This adds or updates the 'cache_enabler' option in the database, which triggers
|
| 340 |
* the creation of the settings file. It will call self::on_update_backend() when
|
| 370 |
}
|
| 371 |
|
| 372 |
/**
|
| 373 |
+
* Update the disk requirements for the current site.
|
| 374 |
*
|
| 375 |
* This deletes the settings and advanced-cache.php files and then maybe unsets
|
| 376 |
* the WP_CACHE constant in the wp-config.php file. A new advanced-cache.php file
|
| 377 |
+
* is then created and the WP_CACHE constant is maybe set. If a multisite network,
|
| 378 |
+
* the 'cache_enabler_disk_updated' site transient is set afterward to only allow
|
| 379 |
+
* this to be ran once.
|
| 380 |
*
|
| 381 |
+
* @since 1.8.0
|
| 382 |
+
* @change 1.8.7
|
| 383 |
*/
|
| 384 |
public static function update_disk() {
|
| 385 |
|
| 386 |
+
if ( is_multisite() ) {
|
| 387 |
+
if ( get_site_transient( 'cache_enabler_disk_updated' ) !== CACHE_ENABLER_VERSION ) {
|
| 388 |
+
self::each_site( true, 'Cache_Enabler_Disk::clean' );
|
| 389 |
+
Cache_Enabler_Disk::setup();
|
| 390 |
+
set_site_transient( 'cache_enabler_disk_updated', CACHE_ENABLER_VERSION, HOUR_IN_SECONDS );
|
| 391 |
+
}
|
| 392 |
+
} else {
|
| 393 |
+
Cache_Enabler_Disk::clean();
|
| 394 |
+
Cache_Enabler_Disk::setup();
|
| 395 |
+
}
|
| 396 |
}
|
| 397 |
|
| 398 |
/**
|
| 568 |
* Uninstall backend requirements.
|
| 569 |
*
|
| 570 |
* @since 1.5.0
|
| 571 |
+
* @change 1.8.7
|
| 572 |
*/
|
| 573 |
private static function uninstall_backend() {
|
| 574 |
|
| 575 |
delete_option( 'cache_enabler' );
|
| 576 |
delete_transient( 'cache_enabler_cache_size' );
|
| 577 |
+
delete_site_transient( 'cache_enabler_disk_updated' );
|
| 578 |
}
|
| 579 |
|
| 580 |
/**
|
| 719 |
/**
|
| 720 |
* Get the plugin settings from the database for the current site.
|
| 721 |
*
|
| 722 |
+
* This can update the disk and backend requirements and then clear the site
|
| 723 |
* cache if the settings do not exist or are outdated. If that occurs, the
|
| 724 |
* settings after the update will be returned.
|
| 725 |
*
|
inc/cache_enabler_disk.class.php
CHANGED
|
@@ -922,6 +922,11 @@ final class Cache_Enabler_Disk {
|
|
| 922 |
/**
|
| 923 |
* Get the name of the settings file for the current site.
|
| 924 |
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 925 |
* @since 1.5.5
|
| 926 |
* @change 1.8.0
|
| 927 |
*
|
|
@@ -934,7 +939,6 @@ final class Cache_Enabler_Disk {
|
|
| 934 |
|
| 935 |
$settings_file_name = '';
|
| 936 |
|
| 937 |
-
// When creating or deleting the settings file.
|
| 938 |
if ( function_exists( 'home_url' ) ) {
|
| 939 |
$settings_file_name = parse_url( home_url(), PHP_URL_HOST );
|
| 940 |
|
|
@@ -944,7 +948,6 @@ final class Cache_Enabler_Disk {
|
|
| 944 |
}
|
| 945 |
|
| 946 |
$settings_file_name .= '.php';
|
| 947 |
-
// When getting the plugin settings from the settings file.
|
| 948 |
} elseif ( is_dir( CACHE_ENABLER_SETTINGS_DIR ) ) {
|
| 949 |
if ( $fallback ) {
|
| 950 |
$settings_files = array_map( 'basename', self::get_dir_objects( CACHE_ENABLER_SETTINGS_DIR ) );
|
|
@@ -1010,15 +1013,17 @@ final class Cache_Enabler_Disk {
|
|
| 1010 |
*
|
| 1011 |
* This will create the settings file if it does not exist and the cache engine
|
| 1012 |
* was started late. If that occurs, the settings from the new settings file will
|
| 1013 |
-
* be returned.
|
|
|
|
|
|
|
| 1014 |
*
|
| 1015 |
-
* This can update the disk and backend requirements and then clear the
|
| 1016 |
-
*
|
| 1017 |
* created and an empty array returned.
|
| 1018 |
*
|
| 1019 |
* @since 1.5.0
|
| 1020 |
* @since 1.8.0 The `$update` parameter was added.
|
| 1021 |
-
* @change 1.8.
|
| 1022 |
*
|
| 1023 |
* @param bool $update Whether to update the disk and backend requirements if the settings are
|
| 1024 |
* outdated. Default true.
|
|
@@ -1052,10 +1057,17 @@ final class Cache_Enabler_Disk {
|
|
| 1052 |
Cache_Enabler::update();
|
| 1053 |
}
|
| 1054 |
} else {
|
| 1055 |
-
$
|
|
|
|
| 1056 |
|
| 1057 |
-
if ( $settings_file
|
| 1058 |
$settings = include $settings_file;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1059 |
}
|
| 1060 |
}
|
| 1061 |
}
|
|
@@ -1343,10 +1355,17 @@ final class Cache_Enabler_Disk {
|
|
| 1343 |
/**
|
| 1344 |
* Set or unset the WP_CACHE constant in the wp-config.php file.
|
| 1345 |
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1346 |
* @since 1.5.0
|
| 1347 |
-
* @
|
|
|
|
| 1348 |
*
|
| 1349 |
-
* @param
|
|
|
|
| 1350 |
*/
|
| 1351 |
private static function set_wp_cache_constant( $set = true ) {
|
| 1352 |
|
|
@@ -1357,36 +1376,57 @@ final class Cache_Enabler_Disk {
|
|
| 1357 |
// The config file resides one level above ABSPATH but is not part of another installation.
|
| 1358 |
$wp_config_file = dirname( ABSPATH ) . '/wp-config.php';
|
| 1359 |
} else {
|
| 1360 |
-
|
|
|
|
| 1361 |
}
|
| 1362 |
|
| 1363 |
-
if ( !
|
| 1364 |
-
return;
|
| 1365 |
}
|
| 1366 |
|
| 1367 |
$wp_config_file_contents = file_get_contents( $wp_config_file );
|
| 1368 |
|
| 1369 |
if ( ! is_string( $wp_config_file_contents ) ) {
|
| 1370 |
-
return;
|
| 1371 |
}
|
| 1372 |
|
| 1373 |
-
|
|
|
|
| 1374 |
|
| 1375 |
-
|
| 1376 |
-
|
| 1377 |
-
|
| 1378 |
-
|
| 1379 |
-
$
|
| 1380 |
-
|
| 1381 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1382 |
}
|
| 1383 |
|
| 1384 |
-
if ( ! $
|
| 1385 |
-
|
| 1386 |
-
$wp_config_file_contents = preg_replace( '/\/\*\* Enables page caching for Cache Enabler\. \*\/' . PHP_EOL . '.+' . PHP_EOL . '.+' . PHP_EOL . '\}' . PHP_EOL . PHP_EOL . '/', '', $wp_config_file_contents );
|
| 1387 |
}
|
| 1388 |
|
| 1389 |
-
file_put_contents( $wp_config_file, $
|
|
|
|
|
|
|
| 1390 |
}
|
| 1391 |
|
| 1392 |
/**
|
| 922 |
/**
|
| 923 |
* Get the name of the settings file for the current site.
|
| 924 |
*
|
| 925 |
+
* This uses home_url() in the late cache engine start to get the settings file
|
| 926 |
+
* name when creating and deleting the settings file or when getting the plugin
|
| 927 |
+
* settings from the settings file. Otherwise, it finds the name of the settings
|
| 928 |
+
* file in the settings directory when the cache engine is started early.
|
| 929 |
+
*
|
| 930 |
* @since 1.5.5
|
| 931 |
* @change 1.8.0
|
| 932 |
*
|
| 939 |
|
| 940 |
$settings_file_name = '';
|
| 941 |
|
|
|
|
| 942 |
if ( function_exists( 'home_url' ) ) {
|
| 943 |
$settings_file_name = parse_url( home_url(), PHP_URL_HOST );
|
| 944 |
|
| 948 |
}
|
| 949 |
|
| 950 |
$settings_file_name .= '.php';
|
|
|
|
| 951 |
} elseif ( is_dir( CACHE_ENABLER_SETTINGS_DIR ) ) {
|
| 952 |
if ( $fallback ) {
|
| 953 |
$settings_files = array_map( 'basename', self::get_dir_objects( CACHE_ENABLER_SETTINGS_DIR ) );
|
| 1013 |
*
|
| 1014 |
* This will create the settings file if it does not exist and the cache engine
|
| 1015 |
* was started late. If that occurs, the settings from the new settings file will
|
| 1016 |
+
* be returned. Before it is created, checking if the settings file exists after
|
| 1017 |
+
* retrieving the database settings is done in case an update occurred, which
|
| 1018 |
+
* would have resulted in a new settings file being created.
|
| 1019 |
*
|
| 1020 |
+
* This can update the disk and backend requirements and then clear the site cache
|
| 1021 |
+
* if the settings are outdated. If that occurs, a new settings file will be
|
| 1022 |
* created and an empty array returned.
|
| 1023 |
*
|
| 1024 |
* @since 1.5.0
|
| 1025 |
* @since 1.8.0 The `$update` parameter was added.
|
| 1026 |
+
* @change 1.8.7
|
| 1027 |
*
|
| 1028 |
* @param bool $update Whether to update the disk and backend requirements if the settings are
|
| 1029 |
* outdated. Default true.
|
| 1057 |
Cache_Enabler::update();
|
| 1058 |
}
|
| 1059 |
} else {
|
| 1060 |
+
$_settings = Cache_Enabler::get_settings();
|
| 1061 |
+
$settings_file = self::get_settings_file();
|
| 1062 |
|
| 1063 |
+
if ( is_file( $settings_file ) ) {
|
| 1064 |
$settings = include $settings_file;
|
| 1065 |
+
} else {
|
| 1066 |
+
$settings_file = self::create_settings_file( $_settings );
|
| 1067 |
+
|
| 1068 |
+
if ( $settings_file !== false ) {
|
| 1069 |
+
$settings = include $settings_file;
|
| 1070 |
+
}
|
| 1071 |
}
|
| 1072 |
}
|
| 1073 |
}
|
| 1355 |
/**
|
| 1356 |
* Set or unset the WP_CACHE constant in the wp-config.php file.
|
| 1357 |
*
|
| 1358 |
+
* This has some functionality copied from wp-load.php when trying to find the
|
| 1359 |
+
* wp-config.php file. It will only set the WP_CACHE constant if the wp-config.php
|
| 1360 |
+
* file is considered to be default and it is not already set. It will only unset
|
| 1361 |
+
* the WP_CACHE constant if previously set by the plugin.
|
| 1362 |
+
*
|
| 1363 |
* @since 1.5.0
|
| 1364 |
+
* @since 1.8.7 The return value was updated.
|
| 1365 |
+
* @change 1.8.7
|
| 1366 |
*
|
| 1367 |
+
* @param bool $set (Optional) True to set the WP_CACHE constant, false to unset. Default true.
|
| 1368 |
+
* @return string|bool Path to the updated wp-config.php file, false otherwise.
|
| 1369 |
*/
|
| 1370 |
private static function set_wp_cache_constant( $set = true ) {
|
| 1371 |
|
| 1376 |
// The config file resides one level above ABSPATH but is not part of another installation.
|
| 1377 |
$wp_config_file = dirname( ABSPATH ) . '/wp-config.php';
|
| 1378 |
} else {
|
| 1379 |
+
// The config file could not be found.
|
| 1380 |
+
return false;
|
| 1381 |
}
|
| 1382 |
|
| 1383 |
+
if ( ! is_writable( $wp_config_file ) ) {
|
| 1384 |
+
return false;
|
| 1385 |
}
|
| 1386 |
|
| 1387 |
$wp_config_file_contents = file_get_contents( $wp_config_file );
|
| 1388 |
|
| 1389 |
if ( ! is_string( $wp_config_file_contents ) ) {
|
| 1390 |
+
return false;
|
| 1391 |
}
|
| 1392 |
|
| 1393 |
+
if ( $set ) {
|
| 1394 |
+
$default_wp_config_file = ( strpos( $wp_config_file_contents, '/** Sets up WordPress vars and included files. */' ) !== false );
|
| 1395 |
|
| 1396 |
+
if ( ! $default_wp_config_file ) {
|
| 1397 |
+
return false;
|
| 1398 |
+
}
|
| 1399 |
+
|
| 1400 |
+
$found_wp_cache_constant = preg_match( '#define\s*\(\s*[\'\"]WP_CACHE[\'\"]\s*,.+\);#', $wp_config_file_contents );
|
| 1401 |
+
|
| 1402 |
+
if ( $found_wp_cache_constant ) {
|
| 1403 |
+
return false;
|
| 1404 |
+
}
|
| 1405 |
+
|
| 1406 |
+
$new_wp_config_lines = '/** Enables page caching for Cache Enabler. */' . PHP_EOL;
|
| 1407 |
+
$new_wp_config_lines .= "if ( ! defined( 'WP_CACHE' ) ) {" . PHP_EOL;
|
| 1408 |
+
$new_wp_config_lines .= "\tdefine( 'WP_CACHE', true );" . PHP_EOL;
|
| 1409 |
+
$new_wp_config_lines .= '}' . PHP_EOL;
|
| 1410 |
+
$new_wp_config_lines .= PHP_EOL;
|
| 1411 |
+
|
| 1412 |
+
$new_wp_config_file_contents = preg_replace( '#(/\*\* Sets up WordPress vars and included files\. \*/)#', $new_wp_config_lines . '$1', $wp_config_file_contents );
|
| 1413 |
+
} else { // Unset.
|
| 1414 |
+
if ( strpos( $wp_config_file_contents, '/** Enables page caching for Cache Enabler. */' ) !== false ) {
|
| 1415 |
+
$new_wp_config_file_contents = preg_replace( '#/\*\* Enables page caching for Cache Enabler\. \*/' . PHP_EOL . '.+' . PHP_EOL . '.+' . PHP_EOL . '\}' . PHP_EOL . PHP_EOL . '#', '', $wp_config_file_contents );
|
| 1416 |
+
} elseif ( strpos( $wp_config_file_contents, '// Added by Cache Enabler' ) !== false ) { // < 1.5.0
|
| 1417 |
+
$new_wp_config_file_contents = preg_replace( '#.+Added by Cache Enabler\r\n#', '', $wp_config_file_contents );
|
| 1418 |
+
} else {
|
| 1419 |
+
return false; // Not previously set by the plugin.
|
| 1420 |
+
}
|
| 1421 |
}
|
| 1422 |
|
| 1423 |
+
if ( ! is_string( $new_wp_config_file_contents ) || empty( $new_wp_config_file_contents ) ) {
|
| 1424 |
+
return false;
|
|
|
|
| 1425 |
}
|
| 1426 |
|
| 1427 |
+
$wp_config_file_updated = file_put_contents( $wp_config_file, $new_wp_config_file_contents, LOCK_EX );
|
| 1428 |
+
|
| 1429 |
+
return ( $wp_config_file_updated === false ) ? false : $wp_config_file;
|
| 1430 |
}
|
| 1431 |
|
| 1432 |
/**
|
inc/cache_enabler_engine.class.php
CHANGED
|
@@ -32,6 +32,9 @@ final class Cache_Enabler_Engine {
|
|
| 32 |
/**
|
| 33 |
* Whether the cache engine is started.
|
| 34 |
*
|
|
|
|
|
|
|
|
|
|
| 35 |
* @since 1.5.0
|
| 36 |
*
|
| 37 |
* @var bool
|
| 32 |
/**
|
| 33 |
* Whether the cache engine is started.
|
| 34 |
*
|
| 35 |
+
* The cache engine is considered to have been started early when started in the
|
| 36 |
+
* advanced-cache.php drop-in file and started late when started on the 'init' action.
|
| 37 |
+
*
|
| 38 |
* @since 1.5.0
|
| 39 |
*
|
| 40 |
* @var bool
|
readme.txt
CHANGED
|
@@ -55,12 +55,16 @@ Cache Enabler captures page contents and saves it as a static HTML file on the s
|
|
| 55 |
|
| 56 |
== Changelog ==
|
| 57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
= 1.8.6 =
|
| 59 |
-
* Add `cache_enabler_settings_before_validation` filter hook (#298)
|
| 60 |
-
* Add additional validation when creating cached files (#299)
|
| 61 |
-
* Add type casts to several filter hooks (#299)
|
| 62 |
* Update requirements check notices (#300)
|
| 63 |
* Update `advanced-cache.php` drop-in file handling (#297)
|
|
|
|
|
|
|
|
|
|
| 64 |
|
| 65 |
= 1.8.5 =
|
| 66 |
* Update required WordPress version from 5.5 to 5.1 (#295)
|
|
@@ -79,29 +83,29 @@ Cache Enabler captures page contents and saves it as a static HTML file on the s
|
|
| 79 |
* Fix requirements check (#285)
|
| 80 |
|
| 81 |
= 1.8.0 =
|
| 82 |
-
* Update `advanced-cache.php` drop-in file handling to improve reliability and compatibility (#
|
| 83 |
* Update settings file to be deleted before the `home` option is updated to prevent a leftover settings file (#279)
|
| 84 |
* Update `cache_enabler_bypass_cache` filter hook default value to allow a complete override (#277)
|
| 85 |
-
* Update cache size transient to be in real time (#
|
| 86 |
* Update cache expiry time to always be a non-negative integer (#265)
|
| 87 |
* Update WP-CLI `clear` subcommand (#261)
|
| 88 |
* Update required WordPress version from 5.1 to 5.5 (#260)
|
| 89 |
* Update plugin upgrade process to improve reliability and compatibility (#260)
|
| 90 |
* Update getting the cache file path to improve creating cache files (#256)
|
| 91 |
* Update HTML5 doctype check to be less strict (#254)
|
| 92 |
-
* Update permalink structure handling (#
|
| 93 |
-
* Update requirements check to improve notices shown (#
|
| 94 |
* Update cache clearing structure to enhance the automatic cache clearing actions (#247)
|
| 95 |
-
* Add WP-Cron event to clear the expired cache on an hourly basis (#
|
| 96 |
-
* Add new cache clearing structure for option actions (#
|
| 97 |
-
* Add cache engine restart support (#
|
| 98 |
* Add `constants.php` file to plugin directory to allow constant overrides (#260)
|
| 99 |
* Add wildcard cache clearing support (#246)
|
| 100 |
* Add Brotli compression support (#243 @nlemoine)
|
| 101 |
* Add new cache clearing structure for term actions (#234 @davelit)
|
| 102 |
* Add cache iterator to improve cache object handling (#237)
|
| 103 |
* Fix WebP URL conversion edge case (#275)
|
| 104 |
-
* Deprecate `cache_enabler_clear_site_cache_by_blog_id` and `cache_enabler_clear_page_cache_by_post_id` action hooks in favor of replacements (#
|
| 105 |
|
| 106 |
= 1.7.2 =
|
| 107 |
* Update string to be translatable (#235 @timse201)
|
| 55 |
|
| 56 |
== Changelog ==
|
| 57 |
|
| 58 |
+
= 1.8.7 =
|
| 59 |
+
* Update plugin upgrade process for multisite networks (#303)
|
| 60 |
+
* Update `wp-config.php` file handling (#302)
|
| 61 |
+
|
| 62 |
= 1.8.6 =
|
|
|
|
|
|
|
|
|
|
| 63 |
* Update requirements check notices (#300)
|
| 64 |
* Update `advanced-cache.php` drop-in file handling (#297)
|
| 65 |
+
* Add additional validation when creating cached files (#299)
|
| 66 |
+
* Add type casts to several filter hooks (#299)
|
| 67 |
+
* Add `cache_enabler_settings_before_validation` filter hook (#298)
|
| 68 |
|
| 69 |
= 1.8.5 =
|
| 70 |
* Update required WordPress version from 5.5 to 5.1 (#295)
|
| 83 |
* Fix requirements check (#285)
|
| 84 |
|
| 85 |
= 1.8.0 =
|
| 86 |
+
* Update `advanced-cache.php` drop-in file handling to improve reliability and compatibility (#260 and #283)
|
| 87 |
* Update settings file to be deleted before the `home` option is updated to prevent a leftover settings file (#279)
|
| 88 |
* Update `cache_enabler_bypass_cache` filter hook default value to allow a complete override (#277)
|
| 89 |
+
* Update cache size transient to be in real time (#237 and #269)
|
| 90 |
* Update cache expiry time to always be a non-negative integer (#265)
|
| 91 |
* Update WP-CLI `clear` subcommand (#261)
|
| 92 |
* Update required WordPress version from 5.1 to 5.5 (#260)
|
| 93 |
* Update plugin upgrade process to improve reliability and compatibility (#260)
|
| 94 |
* Update getting the cache file path to improve creating cache files (#256)
|
| 95 |
* Update HTML5 doctype check to be less strict (#254)
|
| 96 |
+
* Update permalink structure handling (#251 and #263)
|
| 97 |
+
* Update requirements check to improve notices shown (#249 and #260)
|
| 98 |
* Update cache clearing structure to enhance the automatic cache clearing actions (#247)
|
| 99 |
+
* Add WP-Cron event to clear the expired cache on an hourly basis (#237, #268, and #281)
|
| 100 |
+
* Add new cache clearing structure for option actions (#272 and #280)
|
| 101 |
+
* Add cache engine restart support (#271 and #278)
|
| 102 |
* Add `constants.php` file to plugin directory to allow constant overrides (#260)
|
| 103 |
* Add wildcard cache clearing support (#246)
|
| 104 |
* Add Brotli compression support (#243 @nlemoine)
|
| 105 |
* Add new cache clearing structure for term actions (#234 @davelit)
|
| 106 |
* Add cache iterator to improve cache object handling (#237)
|
| 107 |
* Fix WebP URL conversion edge case (#275)
|
| 108 |
+
* Deprecate `cache_enabler_clear_site_cache_by_blog_id` and `cache_enabler_clear_page_cache_by_post_id` action hooks in favor of replacements (#247 and #274)
|
| 109 |
|
| 110 |
= 1.7.2 =
|
| 111 |
* Update string to be translatable (#235 @timse201)
|
