Version Description
- Fixed config file write in more hosting environments
- Fixed legacy config file import on servers with hardened file permissions
- Fixed page cache write cache rules in some environments
- Fixed retina images
- Fixed false positive notifications when permissions are not changed or same
- Fixed minify help
- Improved upgrade notifications
- Improved page cache and minify notifications
Download this release
Release Info
Developer | fredericktownes |
Plugin | W3 Total Cache |
Version | 0.9.2.7 |
Comparing to | |
See all releases |
Code changes from version 0.9.2.6 to 0.9.2.7
- inc/define.php +7 -4
- inc/functions/compat.php +6 -16
- inc/options/cdn.php +2 -1
- inc/options/dashboard.php +1 -1
- inc/options/new_relic.php +2 -3
- inc/options/pgcache.php +3 -4
- inc/widget/new_relic.php +6 -5
- languages/faq-en_US.xml +12 -1
- lib/W3/PgCache.php +3 -1
- lib/W3/Plugin/TotalCacheAdmin.php +28 -18
- lib/W3/Setup.php +15 -3
- lib/W3/Widget/NewRelic.php +1 -1
- lib/W3/Widget/Services.php +3 -3
- pub/css/options.css +11 -5
- readme.txt +19 -2
- w3-total-cache.php +1 -1
inc/define.php
CHANGED
@@ -5,7 +5,7 @@ if (!defined('ABSPATH')) {
|
|
5 |
}
|
6 |
|
7 |
define('W3TC', true);
|
8 |
-
define('W3TC_VERSION', '0.9.2.
|
9 |
define('W3TC_POWERED_BY', 'W3 Total Cache/' . W3TC_VERSION);
|
10 |
define('W3TC_EMAIL', 'w3tc@w3-edge.com');
|
11 |
define('W3TC_PAYPAL_URL', 'https://www.paypal.com/cgi-bin/webscr');
|
@@ -1367,7 +1367,7 @@ function w3_require_once($path) {
|
|
1367 |
|
1368 |
if (!isset($files[$path])) {
|
1369 |
$files[$path] = 1;
|
1370 |
-
|
1371 |
}
|
1372 |
}
|
1373 |
|
@@ -1456,10 +1456,13 @@ function file_put_contents_atomic($filename, $content) {
|
|
1456 |
@unlink($filename);
|
1457 |
@rename($temp, $filename);
|
1458 |
}
|
1459 |
-
|
|
|
|
|
|
|
1460 |
return true;
|
1461 |
-
|
1462 |
}
|
|
|
1463 |
/**
|
1464 |
* Takes seconds and converts to array('Nh ','Nm ', 'Ns ', 'Nms ') or "Nh Nm Ns Nms"
|
1465 |
* @param $input
|
5 |
}
|
6 |
|
7 |
define('W3TC', true);
|
8 |
+
define('W3TC_VERSION', '0.9.2.7');
|
9 |
define('W3TC_POWERED_BY', 'W3 Total Cache/' . W3TC_VERSION);
|
10 |
define('W3TC_EMAIL', 'w3tc@w3-edge.com');
|
11 |
define('W3TC_PAYPAL_URL', 'https://www.paypal.com/cgi-bin/webscr');
|
1367 |
|
1368 |
if (!isset($files[$path])) {
|
1369 |
$files[$path] = 1;
|
1370 |
+
require_once $path;
|
1371 |
}
|
1372 |
}
|
1373 |
|
1456 |
@unlink($filename);
|
1457 |
@rename($temp, $filename);
|
1458 |
}
|
1459 |
+
$chmod = 0644;
|
1460 |
+
if (defined('FS_CHMOD_FILE'))
|
1461 |
+
$chmod = FS_CHMOD_FILE;
|
1462 |
+
@chmod($filename, $chmod);
|
1463 |
return true;
|
|
|
1464 |
}
|
1465 |
+
|
1466 |
/**
|
1467 |
* Takes seconds and converts to array('Nh ','Nm ', 'Ns ', 'Nms ') or "Nh Nm Ns Nms"
|
1468 |
* @param $input
|
inc/functions/compat.php
CHANGED
@@ -62,27 +62,17 @@ if (!function_exists('fnmatch')) {
|
|
62 |
return (boolean) preg_match($pattern, $string);
|
63 |
}
|
64 |
}
|
65 |
-
function w3tc_get_theme($
|
66 |
global $wp_version;
|
67 |
if (version_compare($wp_version,'3.4', '<'))
|
68 |
-
return get_theme($
|
69 |
|
70 |
-
|
71 |
-
if ( isset( $wp_themes ) )
|
72 |
-
return $wp_themes;
|
73 |
|
74 |
-
$themes = wp_get_themes();
|
75 |
-
$wp_themes = array();
|
76 |
-
|
77 |
-
foreach ( $themes as $theme ) {
|
78 |
-
$name = $theme->get('Name');
|
79 |
-
if ( isset( $wp_themes[ $name ] ) )
|
80 |
-
$wp_themes[ $name . '/' . $theme->get_stylesheet() ] = $theme;
|
81 |
-
else
|
82 |
-
$wp_themes[ $name ] = $theme;
|
83 |
-
}
|
84 |
|
85 |
-
|
|
|
|
|
86 |
}
|
87 |
function w3tc_get_current_theme_name() {
|
88 |
global $wp_version;
|
62 |
return (boolean) preg_match($pattern, $string);
|
63 |
}
|
64 |
}
|
65 |
+
function w3tc_get_theme($themename) {
|
66 |
global $wp_version;
|
67 |
if (version_compare($wp_version,'3.4', '<'))
|
68 |
+
return get_theme($themename);
|
69 |
|
70 |
+
$wp_themes = w3tc_get_themes();
|
|
|
|
|
71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
|
73 |
+
if ( is_array( $wp_themes ) && array_key_exists( $themename, $wp_themes ) )
|
74 |
+
return $wp_themes[ $themename ];
|
75 |
+
return array();
|
76 |
}
|
77 |
function w3tc_get_current_theme_name() {
|
78 |
global $wp_version;
|
inc/options/cdn.php
CHANGED
@@ -150,7 +150,8 @@
|
|
150 |
<table class="form-table">
|
151 |
<tr>
|
152 |
<th colspan="2">
|
153 |
-
<?php $this->checkbox('cdn.reject.ssl') ?> <?php _e('Disable <acronym title="Content Delivery Network">CDN</acronym> on <acronym title="Secure Sockets Layer">SSL</acronym> pages', 'w3-total-cache') ?></label
|
|
|
154 |
</th>
|
155 |
</tr>
|
156 |
<tr>
|
150 |
<table class="form-table">
|
151 |
<tr>
|
152 |
<th colspan="2">
|
153 |
+
<?php $this->checkbox('cdn.reject.ssl') ?> <?php _e('Disable <acronym title="Content Delivery Network">CDN</acronym> on <acronym title="Secure Sockets Layer">SSL</acronym> pages', 'w3-total-cache') ?></label><br />
|
154 |
+
<span class="description">When <acronym title="Secure Sockets Layer">SSL</acronym> pages are returned no <acronym title="Content Delivery Network">CDN</acronym> <acronym title="Uniform Resource Indicator">URL</acronym>s will appear in HTML pages.</span>
|
155 |
</th>
|
156 |
</tr>
|
157 |
<tr>
|
inc/options/dashboard.php
CHANGED
@@ -38,7 +38,7 @@
|
|
38 |
<div class="content">
|
39 |
<div id="dashboard-text" style="display:inline-block;">
|
40 |
<h1><?php _e('Dashboard', 'w3-total-cache')?></h1>
|
41 |
-
<p>Thanks for choosing W3TC as your Web Performance Optimization (WPO) framework.
|
42 |
</div>
|
43 |
<div id='postbox-container-1' class='postbox-container'>
|
44 |
<?php do_meta_boxes( $screen->id, 'top', '' ); ?>
|
38 |
<div class="content">
|
39 |
<div id="dashboard-text" style="display:inline-block;">
|
40 |
<h1><?php _e('Dashboard', 'w3-total-cache')?></h1>
|
41 |
+
<p>Thanks for choosing W3TC as your Web Performance Optimization (WPO) framework. Eventually, the dashboard will provide at-a-glance insight into key performance indicators for your site(s). Feel free to <a href="admin.php?page=w3tc_support&request_type=new_feature">make suggestions</a> about the statistics you would like to see here. We're already working on: CDN stats, cache stats per module, Cloud Flare stats and much more.</p>
|
42 |
</div>
|
43 |
<div id='postbox-container-1' class='postbox-container'>
|
44 |
<?php do_meta_boxes( $screen->id, 'top', '' ); ?>
|
inc/options/new_relic.php
CHANGED
@@ -94,9 +94,8 @@
|
|
94 |
<tr>
|
95 |
<th colspan="2">
|
96 |
<?php $this->checkbox('newrelic.accept.logged_roles') ?> <?php _e('Use <acronym title="Real User Monitoring">RUM</acronym> only for following user roles', 'w3-total-cache') ?></label><br />
|
97 |
-
<p>
|
98 |
<span class="description"><?php _e('Select user roles that <acronym title="Real User Monitoring">RUM</acronym> should be enabled for:', 'w3-total-cache') ?></span>
|
99 |
-
|
100 |
<div id="newrelic_accept_roles">
|
101 |
<?php $saved_roles = $this->_config->get_array('newrelic.accept.roles'); ?>
|
102 |
<input type="hidden" name="newrelic.accept.roles" value="" /><br />
|
@@ -145,7 +144,7 @@
|
|
145 |
<th><label for="newrelic_enable_xmit"><?php _e('Enable XMIT', 'w3-total-cache') ?></label></th>
|
146 |
<td><input name="" type="hidden" value="0" />
|
147 |
<input id="newrelic_enable_xmit" name="newrelic.enable_xmit" type="checkbox" value="1" <?php checked($this->_config->get_boolean('newrelic.enable_xmit')) ?> <?php $this->sealing_disabled('newrelic') ?>/>
|
148 |
-
<p><span class="description"><?php _e(sprintf('Enable this if you want to record the metric and transaction data
|
149 |
'<a href="https://newrelic.com/docs/php/the-php-api">New Relic PHP API doc</a>')
|
150 |
, 'w3-total-cache')?></span></p>
|
151 |
</td>
|
94 |
<tr>
|
95 |
<th colspan="2">
|
96 |
<?php $this->checkbox('newrelic.accept.logged_roles') ?> <?php _e('Use <acronym title="Real User Monitoring">RUM</acronym> only for following user roles', 'w3-total-cache') ?></label><br />
|
|
|
97 |
<span class="description"><?php _e('Select user roles that <acronym title="Real User Monitoring">RUM</acronym> should be enabled for:', 'w3-total-cache') ?></span>
|
98 |
+
|
99 |
<div id="newrelic_accept_roles">
|
100 |
<?php $saved_roles = $this->_config->get_array('newrelic.accept.roles'); ?>
|
101 |
<input type="hidden" name="newrelic.accept.roles" value="" /><br />
|
144 |
<th><label for="newrelic_enable_xmit"><?php _e('Enable XMIT', 'w3-total-cache') ?></label></th>
|
145 |
<td><input name="" type="hidden" value="0" />
|
146 |
<input id="newrelic_enable_xmit" name="newrelic.enable_xmit" type="checkbox" value="1" <?php checked($this->_config->get_boolean('newrelic.enable_xmit')) ?> <?php $this->sealing_disabled('newrelic') ?>/>
|
147 |
+
<p><span class="description"><?php _e(sprintf('Enable this if you want to record the metric and transaction data (until the name is changed using PHP function), specify a value of true for this argument to make the agent send the transaction to the daemon. There is a slight performance impact as it takes a few milliseconds for the agent to dump its data. <em>From %s</em>',
|
148 |
'<a href="https://newrelic.com/docs/php/the-php-api">New Relic PHP API doc</a>')
|
149 |
, 'w3-total-cache')?></span></p>
|
150 |
</td>
|
inc/options/pgcache.php
CHANGED
@@ -148,7 +148,7 @@
|
|
148 |
<table class="form-table">
|
149 |
<tr>
|
150 |
<th colspan="2">
|
151 |
-
|
152 |
|
153 |
<table border="0" cellpadding="0" cellspacing="0">
|
154 |
<tr>
|
@@ -181,7 +181,7 @@
|
|
181 |
</tr>
|
182 |
<tr>
|
183 |
<th colspan="2">
|
184 |
-
|
185 |
<input type="hidden" name="pgcache.purge.feed.types" value="" />
|
186 |
<?php foreach($feeds as $feed): ?>
|
187 |
<label>
|
@@ -217,7 +217,6 @@
|
|
217 |
<input id="pgcache_purge_sitemap_regex" name="pgcache.purge.sitemap_regex" <?php $this->sealing_disabled('pgcache') ?> value="<?php echo esc_attr($this->_config->get_string('pgcache.purge.sitemap_regex')) ?>" type="text" /><br />
|
218 |
<span class="description">Specify a regular expression that matches your sitemaps.</span>
|
219 |
</td>
|
220 |
-
<span class="description">Write a regex that matches your sitemaps.</span>
|
221 |
</tr>
|
222 |
</table>
|
223 |
|
@@ -250,7 +249,7 @@
|
|
250 |
<th><label>Compatibility mode</label></th>
|
251 |
<td>
|
252 |
<?php $this->checkbox('pgcache.compatibility') ?> Enable compatibility mode</label><br />
|
253 |
-
<span class="description">
|
254 |
</td>
|
255 |
</tr>
|
256 |
<?php endif; ?>
|
148 |
<table class="form-table">
|
149 |
<tr>
|
150 |
<th colspan="2">
|
151 |
+
Specify the pages and feeds to purge when posts are created, edited, or comments posted. The defaults are recommended because additional options may reduce server performance:
|
152 |
|
153 |
<table border="0" cellpadding="0" cellspacing="0">
|
154 |
<tr>
|
181 |
</tr>
|
182 |
<tr>
|
183 |
<th colspan="2">
|
184 |
+
Specify the feed types to purge:<br />
|
185 |
<input type="hidden" name="pgcache.purge.feed.types" value="" />
|
186 |
<?php foreach($feeds as $feed): ?>
|
187 |
<label>
|
217 |
<input id="pgcache_purge_sitemap_regex" name="pgcache.purge.sitemap_regex" <?php $this->sealing_disabled('pgcache') ?> value="<?php echo esc_attr($this->_config->get_string('pgcache.purge.sitemap_regex')) ?>" type="text" /><br />
|
218 |
<span class="description">Specify a regular expression that matches your sitemaps.</span>
|
219 |
</td>
|
|
|
220 |
</tr>
|
221 |
</table>
|
222 |
|
249 |
<th><label>Compatibility mode</label></th>
|
250 |
<td>
|
251 |
<?php $this->checkbox('pgcache.compatibility') ?> Enable compatibility mode</label><br />
|
252 |
+
<span class="description">Decreases performance by ~20% at scale in exchange for increasing interoperability with more hosting environemtns and WordPress idiosyncracies. This option should be enabled for most sites.</span>
|
253 |
</td>
|
254 |
</tr>
|
255 |
<?php endif; ?>
|
inc/widget/new_relic.php
CHANGED
@@ -47,7 +47,7 @@
|
|
47 |
<?php endforeach ?>
|
48 |
</table>
|
49 |
<?php else: ?>
|
50 |
-
<?php if ($
|
51 |
<p><?php _e('Not enough data', 'w3-total-cache')?></p>
|
52 |
<?php else: ?>
|
53 |
<p><?php _e('Data not available to this subscription level.', 'w3-total-cache')?></p>
|
@@ -66,7 +66,7 @@
|
|
66 |
<?php endforeach ?>
|
67 |
</table>
|
68 |
<?php else: ?>
|
69 |
-
<?php if ($
|
70 |
<p><?php _e('Not enough data', 'w3-total-cache')?></p>
|
71 |
<?php else: ?>
|
72 |
<p><?php _e('Data not available to this subscription level.', 'w3-total-cache')?></p>
|
@@ -84,7 +84,7 @@
|
|
84 |
<?php endforeach ?>
|
85 |
</table>
|
86 |
<?php else: ?>
|
87 |
-
<?php if ($
|
88 |
<p><?php _e('Not enough data', 'w3-total-cache')?></p>
|
89 |
<?php else: ?>
|
90 |
<p><?php _e('Data not available to this subscription level.', 'w3-total-cache')?></p>
|
@@ -97,8 +97,9 @@
|
|
97 |
<?php endif; ?>
|
98 |
<hr>
|
99 |
<p>
|
100 |
-
<?php _e('PHP agent:', 'w3-total-cache')?> <span class="w3tc-<?php if ($new_relic_running): ?>enabled"><?php _e('enabled', 'w3-total-cache')?><?php else: ?>disabled"><?php _e('disabled', 'w3-total-cache')?><?php endif; ?></span
|
101 |
-
<?php _e('Subscription level:', 'w3-total-cache')?>
|
|
|
102 |
</p>
|
103 |
<?php endif; ?>
|
104 |
</div>
|
47 |
<?php endforeach ?>
|
48 |
</table>
|
49 |
<?php else: ?>
|
50 |
+
<?php if ($can_use_metrics): ?>
|
51 |
<p><?php _e('Not enough data', 'w3-total-cache')?></p>
|
52 |
<?php else: ?>
|
53 |
<p><?php _e('Data not available to this subscription level.', 'w3-total-cache')?></p>
|
66 |
<?php endforeach ?>
|
67 |
</table>
|
68 |
<?php else: ?>
|
69 |
+
<?php if ($can_use_metrics): ?>
|
70 |
<p><?php _e('Not enough data', 'w3-total-cache')?></p>
|
71 |
<?php else: ?>
|
72 |
<p><?php _e('Data not available to this subscription level.', 'w3-total-cache')?></p>
|
84 |
<?php endforeach ?>
|
85 |
</table>
|
86 |
<?php else: ?>
|
87 |
+
<?php if ($can_use_metrics): ?>
|
88 |
<p><?php _e('Not enough data', 'w3-total-cache')?></p>
|
89 |
<?php else: ?>
|
90 |
<p><?php _e('Data not available to this subscription level.', 'w3-total-cache')?></p>
|
97 |
<?php endif; ?>
|
98 |
<hr>
|
99 |
<p>
|
100 |
+
<?php _e('PHP agent:', 'w3-total-cache')?> <span class="w3tc-<?php if ($new_relic_running): ?>enabled"><?php _e('enabled', 'w3-total-cache')?><?php else: ?>disabled"><?php _e('disabled', 'w3-total-cache')?><?php endif; ?></span><br />
|
101 |
+
<?php _e('Subscription level:', 'w3-total-cache')?> <strong><?php echo $subscription_lvl ?></strong>
|
102 |
+
<?php if (!$can_use_metrics): ?><p><a href="<?php echo NEWRELIC_SIGNUP_URL; ?>" target="_blank"><?php _e('Upgrade your New Relic account to enable more metrics.', 'w3-total-cache')?></a></p><?php endif; ?>
|
103 |
</p>
|
104 |
<?php endif; ?>
|
105 |
</div>
|
languages/faq-en_US.xml
CHANGED
@@ -723,7 +723,18 @@ add_filter('w3tc_referrer_groups', 'my_w3tc_referrer_groups');</pre>
|
|
723 |
</p>
|
724 |
]]></answer>
|
725 |
</entry>
|
726 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
727 |
<section name="Requirements">
|
728 |
<entry>
|
729 |
<question><![CDATA[ Which web servers do you support? ]]></question>
|
723 |
</p>
|
724 |
]]></answer>
|
725 |
</entry>
|
726 |
+
<entry>
|
727 |
+
<question><![CDATA[ Sitemaps are not cached. How do I solve this? ]]></question>
|
728 |
+
<answer><![CDATA[ <p>Enable "Cache feeds: site, categories, tags, comments" on the "Page Cache" settings tab. Some sitemap implementations are considered by WordPress to be "feeds."</p> ]]></answer>
|
729 |
+
</entry>
|
730 |
+
<entry>
|
731 |
+
<question><![CDATA[ A notification about file owner appears along with an <acronym title="File Transfer Protocol">FTP</acronym> form, how can I resolve this? ]]></question>
|
732 |
+
<answer><![CDATA[ <p>The plugin uses WordPress FileSystem functionality to write to files. It checks if file owner, file owner group of created files match process owner. If this is not the case it cannot write or modify files.<br />
|
733 |
+
Typically, you should tell your web host about the permission issue and they should be able to resolve it.<br />
|
734 |
+
You can however try adding <em>define('FS_METHOD', 'direct');</em> to wp-config.php to circumvent the file and folder checks.</p>
|
735 |
+
]]></answer>
|
736 |
+
</entry>
|
737 |
+
</section>
|
738 |
<section name="Requirements">
|
739 |
<entry>
|
740 |
<question><![CDATA[ Which web servers do you support? ]]></question>
|
lib/W3/PgCache.php
CHANGED
@@ -840,7 +840,9 @@ class W3_PgCache {
|
|
840 |
return;
|
841 |
|
842 |
$plugin = w3_instance('W3_Plugin_PgCacheAdmin');
|
843 |
-
|
|
|
|
|
844 |
}
|
845 |
|
846 |
/**
|
840 |
return;
|
841 |
|
842 |
$plugin = w3_instance('W3_Plugin_PgCacheAdmin');
|
843 |
+
try {
|
844 |
+
$plugin->write_rules_cache();
|
845 |
+
} catch (Exception $ex) {}
|
846 |
}
|
847 |
|
848 |
/**
|
lib/W3/Plugin/TotalCacheAdmin.php
CHANGED
@@ -166,7 +166,9 @@ class W3_Plugin_TotalCacheAdmin extends W3_Plugin {
|
|
166 |
function run() {
|
167 |
|
168 |
if (!$this->_config->own_config_exists()) {
|
169 |
-
|
|
|
|
|
170 |
}
|
171 |
|
172 |
$this->_config_admin = w3_instance('W3_ConfigAdmin');
|
@@ -406,10 +408,13 @@ class W3_Plugin_TotalCacheAdmin extends W3_Plugin {
|
|
406 |
#toplevel_page_w3tc_dashboard .wp-menu-image {
|
407 |
background: url(<?php echo plugins_url('w3-total-cache/pub/img/w3tc-sprite.png')?>) no-repeat 0px -32px !important;
|
408 |
}
|
409 |
-
#toplevel_page_w3tc_dashboard:hover .wp-menu-image,
|
|
|
410 |
background-position:0px 0px !important;
|
411 |
}
|
412 |
-
#icon-edit.icon32-posts-casestudy {
|
|
|
|
|
413 |
/**
|
414 |
* HiDPI Displays
|
415 |
*/
|
@@ -417,13 +422,19 @@ class W3_Plugin_TotalCacheAdmin extends W3_Plugin {
|
|
417 |
(-o-min-device-pixel-ratio: 5/4),
|
418 |
(-webkit-min-device-pixel-ratio: 1.25),
|
419 |
(min-resolution: 120dpi) {
|
|
|
420 |
#toplevel_page_w3tc_dashboard .wp-menu-image {
|
421 |
-
background: url(<?php echo plugins_url('w3-total-cache/pub/img/w3tc-sprite-retina.png')?>)
|
|
|
422 |
}
|
423 |
-
#toplevel_page_w3tc_dashboard:hover .wp-menu-image,
|
|
|
424 |
background-position:0px 0px !important;
|
425 |
}
|
426 |
-
#icon-edit.icon32-posts-casestudy {
|
|
|
|
|
|
|
427 |
}
|
428 |
</style>
|
429 |
|
@@ -1293,7 +1304,9 @@ class W3_Plugin_TotalCacheAdmin extends W3_Plugin {
|
|
1293 |
w3_require_once(W3TC_INC_DIR . '/functions/update.php');
|
1294 |
$folders = w3_find_old_folders();
|
1295 |
$folders = array_map('basename', $folders);
|
1296 |
-
$notes[] = '
|
|
|
|
|
1297 |
}
|
1298 |
|
1299 |
if (W3_Request::get_string('action') == 'w3tc_deactivate_plugin') {
|
@@ -1402,7 +1415,7 @@ class W3_Plugin_TotalCacheAdmin extends W3_Plugin {
|
|
1402 |
$tech_message .= 'Unfortunately disk enhanced page caching will not function without custom rewrite rules. Please ask your server administrator for assistance. Also refer to <a href="%s">the install page</a> for the rules for your server.';
|
1403 |
$tech_message = sprintf($tech_message, w3_is_nginx()?'nginx configuration file' : '.htaccess file',
|
1404 |
w3_get_home_url(), $result, admin_url('admin.php?page=w3tc_install'));
|
1405 |
-
$error = 'It appears Page Cache <acronym title="Uniform Resource Locator">URL</acronym> rewriting is not working. If using apache, verify that the server configuration allows .htaccess
|
1406 |
$error .= ' <br /><a id="w3tc_read_technical_info" href="#">Technical info</a><div id="w3tc_technical_info">' . $tech_message . '</div>';
|
1407 |
$this->_errors[] = $error;
|
1408 |
}
|
@@ -1522,7 +1535,7 @@ class W3_Plugin_TotalCacheAdmin extends W3_Plugin {
|
|
1522 |
|
1523 |
if ($w3_plugin_minify->check_rules_core()) {
|
1524 |
if (!$this->test_rewrite_minify()) {
|
1525 |
-
$this->_errors[] = 'It appears Minify <acronym title="Uniform Resource Locator">URL</acronym> rewriting is not working. If using apache, verify that the server configuration allows .htaccess
|
1526 |
}
|
1527 |
|
1528 |
if ($w3_plugin_minify->check_rules_has_legacy()) {
|
@@ -1675,7 +1688,7 @@ class W3_Plugin_TotalCacheAdmin extends W3_Plugin {
|
|
1675 |
if ($this->_config->get_boolean('notes.browsercache_rules_no404wp') && $this->_config->get_boolean('browsercache.no404wp') && !$w3_plugin_browsercache->check_rules_no404wp()) {
|
1676 |
try {
|
1677 |
$w3_plugin_browsercache->write_rules_no404wp();
|
1678 |
-
} catch(
|
1679 |
$ftp_message = '';
|
1680 |
if (!isset($this->_ftp_form) && $e instanceof FilesystemCredentialException) {
|
1681 |
$this->_ftp_form = $e->ftp_form();
|
@@ -3291,9 +3304,9 @@ class W3_Plugin_TotalCacheAdmin extends W3_Plugin {
|
|
3291 |
$nonce = wp_create_nonce('w3tc_support_request');
|
3292 |
if (is_network_admin()) {
|
3293 |
update_site_option('w3tc_support_request', $nonce);
|
3294 |
-
}
|
3295 |
update_option('w3tc_support_request', $nonce);
|
3296 |
-
}
|
3297 |
$post['file_access'] = WP_PLUGIN_URL . '/' . dirname(W3TC_FILE) . '/pub/files.php';
|
3298 |
$post['nonce'] = $nonce;
|
3299 |
$post['request_data_url'] = $request_data_url;
|
@@ -4587,9 +4600,7 @@ class W3_Plugin_TotalCacheAdmin extends W3_Plugin {
|
|
4587 |
switch ($command) {
|
4588 |
case 'browsercache_write_rules_cache':
|
4589 |
$w3_plugin_browsercache = w3_instance('W3_Plugin_BrowserCacheAdmin');
|
4590 |
-
|
4591 |
-
$w3_plugin_browsercache->write_rules_cache();
|
4592 |
-
} catch (FilesystemCredentialException $e) {}
|
4593 |
|
4594 |
if ($w3_plugin_browsercache->check_rules_cache()) {
|
4595 |
$notes[] = 'Browser cache directives have been successfully written.';
|
@@ -4651,9 +4662,8 @@ class W3_Plugin_TotalCacheAdmin extends W3_Plugin {
|
|
4651 |
|
4652 |
case 'pgcache_write_rules_core':
|
4653 |
$w3_plugin_pgcache = w3_instance('W3_Plugin_PgCacheAdmin');
|
4654 |
-
|
4655 |
-
|
4656 |
-
} catch(Exception $e) {}
|
4657 |
if ($w3_plugin_pgcache->check_rules_core()) {
|
4658 |
$notes[] = 'Page cache rewrite rules have been successfully written.';
|
4659 |
} else {
|
166 |
function run() {
|
167 |
|
168 |
if (!$this->_config->own_config_exists()) {
|
169 |
+
try {
|
170 |
+
$this->update();
|
171 |
+
} catch(Exception $ex) {}
|
172 |
}
|
173 |
|
174 |
$this->_config_admin = w3_instance('W3_ConfigAdmin');
|
408 |
#toplevel_page_w3tc_dashboard .wp-menu-image {
|
409 |
background: url(<?php echo plugins_url('w3-total-cache/pub/img/w3tc-sprite.png')?>) no-repeat 0px -32px !important;
|
410 |
}
|
411 |
+
#toplevel_page_w3tc_dashboard:hover .wp-menu-image,
|
412 |
+
#toplevel_page_w3tc_dashboard.wp-has-current-submenu .wp-menu-image {
|
413 |
background-position:0px 0px !important;
|
414 |
}
|
415 |
+
#icon-edit.icon32-posts-casestudy {
|
416 |
+
background: url(<?php echo plugins_url('w3-total-cache/pub/img/w3tc-sprite.png') ?>) no-repeat;
|
417 |
+
}
|
418 |
/**
|
419 |
* HiDPI Displays
|
420 |
*/
|
422 |
(-o-min-device-pixel-ratio: 5/4),
|
423 |
(-webkit-min-device-pixel-ratio: 1.25),
|
424 |
(min-resolution: 120dpi) {
|
425 |
+
|
426 |
#toplevel_page_w3tc_dashboard .wp-menu-image {
|
427 |
+
background-image: url(<?php echo plugins_url('w3-total-cache/pub/img/w3tc-sprite-retina.png')?>) !important;
|
428 |
+
background-size: 30px 64px !important;
|
429 |
}
|
430 |
+
#toplevel_page_w3tc_dashboard:hover .wp-menu-image,
|
431 |
+
#toplevel_page_w3tc_dashboard.wp-has-current-submenu .wp-menu-image {
|
432 |
background-position:0px 0px !important;
|
433 |
}
|
434 |
+
#icon-edit.icon32-posts-casestudy {
|
435 |
+
background-image: url(<?php echo plugins_url('w3-total-cache/pub/img/w3tc-sprite-retina.png') ?>) !important;
|
436 |
+
background-size: 30px 64px !important;
|
437 |
+
}
|
438 |
}
|
439 |
</style>
|
440 |
|
1304 |
w3_require_once(W3TC_INC_DIR . '/functions/update.php');
|
1305 |
$folders = w3_find_old_folders();
|
1306 |
$folders = array_map('basename', $folders);
|
1307 |
+
$notes[] = sprintf('The directory w3tc can be deleted. %s: %s. However, <em>do not remove the w3tc-config directory</em>. %s'
|
1308 |
+
, WP_CONTENT_DIR, implode(', ',$folders)
|
1309 |
+
, $this->button_hide_note('Hide this message', 'remove_w3tc', '', true));
|
1310 |
}
|
1311 |
|
1312 |
if (W3_Request::get_string('action') == 'w3tc_deactivate_plugin') {
|
1415 |
$tech_message .= 'Unfortunately disk enhanced page caching will not function without custom rewrite rules. Please ask your server administrator for assistance. Also refer to <a href="%s">the install page</a> for the rules for your server.';
|
1416 |
$tech_message = sprintf($tech_message, w3_is_nginx()?'nginx configuration file' : '.htaccess file',
|
1417 |
w3_get_home_url(), $result, admin_url('admin.php?page=w3tc_install'));
|
1418 |
+
$error = 'It appears Page Cache <acronym title="Uniform Resource Locator">URL</acronym> rewriting is not working. If using apache, verify that the server configuration allows .htaccess. Or if using nginx verify all configuration files are included in the configuration file (and that you have reloaded / restarted nginx).';
|
1419 |
$error .= ' <br /><a id="w3tc_read_technical_info" href="#">Technical info</a><div id="w3tc_technical_info">' . $tech_message . '</div>';
|
1420 |
$this->_errors[] = $error;
|
1421 |
}
|
1535 |
|
1536 |
if ($w3_plugin_minify->check_rules_core()) {
|
1537 |
if (!$this->test_rewrite_minify()) {
|
1538 |
+
$this->_errors[] = 'It appears Minify <acronym title="Uniform Resource Locator">URL</acronym> rewriting is not working. If using apache, verify that the server configuration allows .htaccess. Or if using nginx verify all configuration files are included in the main configuration fail (and that you have reloaded / restarted nginx).';
|
1539 |
}
|
1540 |
|
1541 |
if ($w3_plugin_minify->check_rules_has_legacy()) {
|
1688 |
if ($this->_config->get_boolean('notes.browsercache_rules_no404wp') && $this->_config->get_boolean('browsercache.no404wp') && !$w3_plugin_browsercache->check_rules_no404wp()) {
|
1689 |
try {
|
1690 |
$w3_plugin_browsercache->write_rules_no404wp();
|
1691 |
+
} catch(Exception $e) {
|
1692 |
$ftp_message = '';
|
1693 |
if (!isset($this->_ftp_form) && $e instanceof FilesystemCredentialException) {
|
1694 |
$this->_ftp_form = $e->ftp_form();
|
3304 |
$nonce = wp_create_nonce('w3tc_support_request');
|
3305 |
if (is_network_admin()) {
|
3306 |
update_site_option('w3tc_support_request', $nonce);
|
3307 |
+
} else {
|
3308 |
update_option('w3tc_support_request', $nonce);
|
3309 |
+
}
|
3310 |
$post['file_access'] = WP_PLUGIN_URL . '/' . dirname(W3TC_FILE) . '/pub/files.php';
|
3311 |
$post['nonce'] = $nonce;
|
3312 |
$post['request_data_url'] = $request_data_url;
|
4600 |
switch ($command) {
|
4601 |
case 'browsercache_write_rules_cache':
|
4602 |
$w3_plugin_browsercache = w3_instance('W3_Plugin_BrowserCacheAdmin');
|
4603 |
+
$w3_plugin_browsercache->write_rules_cache();
|
|
|
|
|
4604 |
|
4605 |
if ($w3_plugin_browsercache->check_rules_cache()) {
|
4606 |
$notes[] = 'Browser cache directives have been successfully written.';
|
4662 |
|
4663 |
case 'pgcache_write_rules_core':
|
4664 |
$w3_plugin_pgcache = w3_instance('W3_Plugin_PgCacheAdmin');
|
4665 |
+
$w3_plugin_pgcache->write_rules_core();
|
4666 |
+
|
|
|
4667 |
if ($w3_plugin_pgcache->check_rules_core()) {
|
4668 |
$notes[] = 'Page cache rewrite rules have been successfully written.';
|
4669 |
} else {
|
lib/W3/Setup.php
CHANGED
@@ -208,13 +208,17 @@ class W3_Setup {
|
|
208 |
|
209 |
private function _try_create_missing_folders($folders, $url) {
|
210 |
$permissions = array(0755, 0775, 0777);
|
211 |
-
$prev_perm =
|
212 |
foreach ($permissions as $permission) {
|
|
|
|
|
|
|
213 |
if (!($result = @chmod(WP_CONTENT_DIR, $permission)))
|
214 |
$result = w3_chmod_dir(WP_CONTENT_DIR, $permission);
|
215 |
if ($result) {
|
216 |
try {
|
217 |
w3_create_folders($folders, '', $url);
|
|
|
218 |
}catch (Exception $ex) {}
|
219 |
}
|
220 |
if (!@chmod(WP_CONTENT_DIR, $prev_perm))
|
@@ -227,11 +231,15 @@ class W3_Setup {
|
|
227 |
$permissions = array(0755, 0775, 0777);
|
228 |
$prev_perm = w3_get_file_permissions(WP_CONTENT_DIR);
|
229 |
foreach ($permissions as $permission) {
|
|
|
|
|
|
|
230 |
if (!($result = @chmod(WP_CONTENT_DIR, $permission)))
|
231 |
$result = w3_chmod_dir(WP_CONTENT_DIR, $permission);
|
232 |
if ($result) {
|
233 |
try {
|
234 |
w3_create_files($files, '', $url);
|
|
|
235 |
}catch (Exception $ex) {}
|
236 |
}
|
237 |
if (!@chmod(WP_CONTENT_DIR, $prev_perm))
|
@@ -249,6 +257,8 @@ class W3_Setup {
|
|
249 |
w3_require_once(W3TC_INC_DIR . '/functions/file.php');
|
250 |
$prev_perm = w3_get_file_permissions(W3TC_CACHE_DIR);
|
251 |
foreach ($permissions as $permission) {
|
|
|
|
|
252 |
$result = w3_chmod_dir(W3TC_CACHE_DIR, $permission, true);
|
253 |
if ($result) {
|
254 |
$test_result1 = $this->_test_cache_file_creation();
|
@@ -272,8 +282,10 @@ class W3_Setup {
|
|
272 |
if (!$test_result2['success']) {
|
273 |
w3_require_once(W3TC_INC_DIR . '/functions/activation.php');
|
274 |
w3_require_once(W3TC_INC_DIR . '/functions/file.php');
|
275 |
-
$prev_perm = w3_get_file_permissions(
|
276 |
foreach ($permissions as $permission) {
|
|
|
|
|
277 |
$result = w3_chmod_dir(W3TC_CONFIG_DIR, $permission);
|
278 |
if ($result) {
|
279 |
$test_result2 = $this->_test_w3tc_config_creation();
|
@@ -283,7 +295,7 @@ class W3_Setup {
|
|
283 |
|
284 |
$results['permissions'][] = sprintf('Plugin changed permissions on: %s to %d from %s. <br />' .
|
285 |
'Default file owner is %s, plugin created files is owned by %s.',
|
286 |
-
|
287 |
$d_fileowngrp, $c_fileowngrp);
|
288 |
break;
|
289 |
}
|
208 |
|
209 |
private function _try_create_missing_folders($folders, $url) {
|
210 |
$permissions = array(0755, 0775, 0777);
|
211 |
+
$prev_perm = w3_get_file_permissions(WP_CONTENT_DIR);
|
212 |
foreach ($permissions as $permission) {
|
213 |
+
$result = true;
|
214 |
+
if ($permission == $prev_perm)
|
215 |
+
continue;
|
216 |
if (!($result = @chmod(WP_CONTENT_DIR, $permission)))
|
217 |
$result = w3_chmod_dir(WP_CONTENT_DIR, $permission);
|
218 |
if ($result) {
|
219 |
try {
|
220 |
w3_create_folders($folders, '', $url);
|
221 |
+
return true;
|
222 |
}catch (Exception $ex) {}
|
223 |
}
|
224 |
if (!@chmod(WP_CONTENT_DIR, $prev_perm))
|
231 |
$permissions = array(0755, 0775, 0777);
|
232 |
$prev_perm = w3_get_file_permissions(WP_CONTENT_DIR);
|
233 |
foreach ($permissions as $permission) {
|
234 |
+
$result = true;
|
235 |
+
if ($permission == $prev_perm)
|
236 |
+
continue;
|
237 |
if (!($result = @chmod(WP_CONTENT_DIR, $permission)))
|
238 |
$result = w3_chmod_dir(WP_CONTENT_DIR, $permission);
|
239 |
if ($result) {
|
240 |
try {
|
241 |
w3_create_files($files, '', $url);
|
242 |
+
return true;
|
243 |
}catch (Exception $ex) {}
|
244 |
}
|
245 |
if (!@chmod(WP_CONTENT_DIR, $prev_perm))
|
257 |
w3_require_once(W3TC_INC_DIR . '/functions/file.php');
|
258 |
$prev_perm = w3_get_file_permissions(W3TC_CACHE_DIR);
|
259 |
foreach ($permissions as $permission) {
|
260 |
+
if ($permission == $prev_perm)
|
261 |
+
continue;
|
262 |
$result = w3_chmod_dir(W3TC_CACHE_DIR, $permission, true);
|
263 |
if ($result) {
|
264 |
$test_result1 = $this->_test_cache_file_creation();
|
282 |
if (!$test_result2['success']) {
|
283 |
w3_require_once(W3TC_INC_DIR . '/functions/activation.php');
|
284 |
w3_require_once(W3TC_INC_DIR . '/functions/file.php');
|
285 |
+
$prev_perm = w3_get_file_permissions(W3TC_CONFIG_DIR);
|
286 |
foreach ($permissions as $permission) {
|
287 |
+
if ($permission == $prev_perm)
|
288 |
+
continue;
|
289 |
$result = w3_chmod_dir(W3TC_CONFIG_DIR, $permission);
|
290 |
if ($result) {
|
291 |
$test_result2 = $this->_test_w3tc_config_creation();
|
295 |
|
296 |
$results['permissions'][] = sprintf('Plugin changed permissions on: %s to %d from %s. <br />' .
|
297 |
'Default file owner is %s, plugin created files is owned by %s.',
|
298 |
+
W3TC_CONFIG_DIR, decoct($permission), $prev_perm,
|
299 |
$d_fileowngrp, $c_fileowngrp);
|
300 |
break;
|
301 |
}
|
lib/W3/Widget/NewRelic.php
CHANGED
@@ -112,7 +112,7 @@ class W3_Widget_NewRelic extends W3_Plugin {
|
|
112 |
'Errors' => 'N/A','Response Time' => 'N/A','DB' => 'N/A','CPU' => 'N/A','Memory' => 'N/A');
|
113 |
$metric_data = array('EndUser' => 'N/A', 'WebTransaction' => 'N/A', 'Database' => 'N/A');
|
114 |
$metric_formatted = NewRelicPresentation::format_metrics_dashboard($metric_data);
|
115 |
-
$
|
116 |
}
|
117 |
|
118 |
include W3TC_INC_WIDGET_DIR . '/new_relic.php';
|
112 |
'Errors' => 'N/A','Response Time' => 'N/A','DB' => 'N/A','CPU' => 'N/A','Memory' => 'N/A');
|
113 |
$metric_data = array('EndUser' => 'N/A', 'WebTransaction' => 'N/A', 'Database' => 'N/A');
|
114 |
$metric_formatted = NewRelicPresentation::format_metrics_dashboard($metric_data);
|
115 |
+
$can_use_metrics = false;
|
116 |
}
|
117 |
|
118 |
include W3TC_INC_WIDGET_DIR . '/new_relic.php';
|
lib/W3/Widget/Services.php
CHANGED
@@ -50,9 +50,9 @@ class W3_Widget_Services extends W3_Plugin {
|
|
50 |
$this->_request_types = array(
|
51 |
'email_support' => sprintf(__('Less than 15 Minute Email Support Response %s', 'w3-total-cache'), '<br /><span>(M-F 9AM - 5PM EDT): $75 USD</span>'),
|
52 |
'phone_support' => sprintf(__('Less than 15 Minute Phone Support Response %s', 'w3-total-cache'), '<br /><span>(M-F 9AM - 5PM EDT): $150 USD</span>'),
|
53 |
-
'plugin_config' => sprintf(__('Professional Plugin Configuration
|
54 |
-
'theme_config' => sprintf(__('Theme Performance Optimization & Plugin Configuration
|
55 |
-
'linux_config' => sprintf(__('Linux Server Optimization & Plugin Configuration
|
56 |
);
|
57 |
add_action('w3tc_dashboard_setup', array(
|
58 |
&$this,
|
50 |
$this->_request_types = array(
|
51 |
'email_support' => sprintf(__('Less than 15 Minute Email Support Response %s', 'w3-total-cache'), '<br /><span>(M-F 9AM - 5PM EDT): $75 USD</span>'),
|
52 |
'phone_support' => sprintf(__('Less than 15 Minute Phone Support Response %s', 'w3-total-cache'), '<br /><span>(M-F 9AM - 5PM EDT): $150 USD</span>'),
|
53 |
+
'plugin_config' => sprintf(__('Professional Plugin Configuration %s', 'w3-total-cache'),'<br /><span>Starting @ $100 USD</span>'),
|
54 |
+
'theme_config' => sprintf(__('Theme Performance Optimization & Plugin Configuration %s', 'w3-total-cache'),'<br /><span>Starting @ $150 USD</span>'),
|
55 |
+
'linux_config' => sprintf(__('Linux Server Optimization & Plugin Configuration %s', 'w3-total-cache'), '<br /><span>Starting @ $200 USD</span>')
|
56 |
);
|
57 |
add_action('w3tc_dashboard_setup', array(
|
58 |
&$this,
|
pub/css/options.css
CHANGED
@@ -379,6 +379,7 @@
|
|
379 |
-webkit-box-shadow: 0 1px 0 white;
|
380 |
box-shadow: 0 1px 0 white;
|
381 |
}
|
|
|
382 |
#w3tc-dashboard-widgets #postbox-container-left h3.hndle span:first-child{
|
383 |
display: inline-block;
|
384 |
padding-left: 50px;
|
@@ -417,25 +418,30 @@ only screen and ( min-device-pixel-ratio: 2),
|
|
417 |
only screen and ( min-resolution: 192dpi),
|
418 |
only screen and ( min-resolution: 2dppx) {
|
419 |
#w3tc h2.logo {
|
420 |
-
background: url("../img/W3TC_dashboard_logo_title-retina.png")
|
|
|
421 |
}
|
422 |
|
423 |
#w3tc_spreadtheword h3.hndle span{
|
424 |
-
background: url("../img/w3tc_w3tc-logo-retina.png")
|
|
|
425 |
}
|
426 |
|
427 |
#w3tc_services h3.hndle span {
|
428 |
-
background: url("../img/w3tc_w3edge-logo-retina.png")
|
|
|
429 |
}
|
430 |
|
431 |
#w3tc-dashboard-widgets #postbox-container-left #w3tc_pagespeed h3.hndle span:first-child{
|
432 |
padding-left: 110px;
|
433 |
-
background: url("../img/w3tc_google-logo-retina.png")
|
|
|
434 |
}
|
435 |
|
436 |
#w3tc-dashboard-widgets #postbox-container-left #w3tc_new_relic h3.hndle span:first-child{
|
437 |
padding-left: 300px;
|
438 |
-
background: url("../img/w3tc_newrelic-logo-retina.png")
|
|
|
439 |
}
|
440 |
}
|
441 |
|
379 |
-webkit-box-shadow: 0 1px 0 white;
|
380 |
box-shadow: 0 1px 0 white;
|
381 |
}
|
382 |
+
|
383 |
#w3tc-dashboard-widgets #postbox-container-left h3.hndle span:first-child{
|
384 |
display: inline-block;
|
385 |
padding-left: 50px;
|
418 |
only screen and ( min-resolution: 192dpi),
|
419 |
only screen and ( min-resolution: 2dppx) {
|
420 |
#w3tc h2.logo {
|
421 |
+
background-image: url("../img/W3TC_dashboard_logo_title-retina.png");
|
422 |
+
background-size: 224px 44px;
|
423 |
}
|
424 |
|
425 |
#w3tc_spreadtheword h3.hndle span{
|
426 |
+
background-image: url("../img/w3tc_w3tc-logo-retina.png");
|
427 |
+
background-size: 41px 34px;
|
428 |
}
|
429 |
|
430 |
#w3tc_services h3.hndle span {
|
431 |
+
background-image: url("../img/w3tc_w3edge-logo-retina.png");
|
432 |
+
background-size: 37px 35px;
|
433 |
}
|
434 |
|
435 |
#w3tc-dashboard-widgets #postbox-container-left #w3tc_pagespeed h3.hndle span:first-child{
|
436 |
padding-left: 110px;
|
437 |
+
background-image: url("../img/w3tc_google-logo-retina.png");
|
438 |
+
background-size: 97px 33px;
|
439 |
}
|
440 |
|
441 |
#w3tc-dashboard-widgets #postbox-container-left #w3tc_new_relic h3.hndle span:first-child{
|
442 |
padding-left: 300px;
|
443 |
+
background-image: url("../img/w3tc_newrelic-logo-retina.png");
|
444 |
+
background-size: 144px 26px;
|
445 |
}
|
446 |
}
|
447 |
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: fredericktownes
|
|
3 |
Tags: wpo, web performance optimization, performance, availability, scaling, scalability, user experience, cache, caching, page cache, css cache, js cache, db cache, disk cache, disk caching, database cache, http compression, gzip, deflate, minify, cdn, content delivery network, media library, performance, speed, multiple hosts, css, merge, combine, unobtrusive javascript, compress, optimize, optimizer, javascript, js, cascading style sheet, plugin, yslow, yui, google, google rank, google page speed, mod_pagespeed, new relic, newrelic, aws, s3, cloudfront, sns, elasticache, rds, flash media server, amazon web services, cloud files, rackspace, akamai, max cdn, netdna, limelight, cloudflare, mod_cloudflare, microsoft, microsoft azure, iis, nginx, litespeed, apache, varnish, xcache, apc, eacclerator, wincache, mysql, w3 total cache, batcache, wp cache, wp super cache, quick cache, wp minify, bwp-minify, buddypress
|
4 |
Requires at least: 2.8
|
5 |
Tested up to: 3.5.1
|
6 |
-
Stable tag: 0.9.2.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -230,6 +230,14 @@ Add `/.+` to page cache "Never cache the following pages" option on the page cac
|
|
230 |
|
231 |
First, make sure the plugin is not active (disabled) network-wide. Then make sure it's deactivated network-wide. Now you should be able to successful upgrade without breaking your site.
|
232 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
= This is too good to be true, how can I test the results? =
|
234 |
You will be able to see it instantly on each page load, but for tangible metrics, consider the following tools:
|
235 |
|
@@ -723,6 +731,15 @@ It's quite difficult to recall all of the innovators that have shared their thou
|
|
723 |
Please reach out to all of these people and support their projects if you're so inclined.
|
724 |
|
725 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
726 |
|
727 |
= 0.9.2.6 =
|
728 |
* Added support for grouping cache entries for easier flushing
|
@@ -1208,4 +1225,4 @@ Please reach out to all of these people and support their projects if you're so
|
|
1208 |
== Upgrade Notice ==
|
1209 |
|
1210 |
= 0.9.2.6 =
|
1211 |
-
Thanks for using W3 Total Cache!
|
3 |
Tags: wpo, web performance optimization, performance, availability, scaling, scalability, user experience, cache, caching, page cache, css cache, js cache, db cache, disk cache, disk caching, database cache, http compression, gzip, deflate, minify, cdn, content delivery network, media library, performance, speed, multiple hosts, css, merge, combine, unobtrusive javascript, compress, optimize, optimizer, javascript, js, cascading style sheet, plugin, yslow, yui, google, google rank, google page speed, mod_pagespeed, new relic, newrelic, aws, s3, cloudfront, sns, elasticache, rds, flash media server, amazon web services, cloud files, rackspace, akamai, max cdn, netdna, limelight, cloudflare, mod_cloudflare, microsoft, microsoft azure, iis, nginx, litespeed, apache, varnish, xcache, apc, eacclerator, wincache, mysql, w3 total cache, batcache, wp cache, wp super cache, quick cache, wp minify, bwp-minify, buddypress
|
4 |
Requires at least: 2.8
|
5 |
Tested up to: 3.5.1
|
6 |
+
Stable tag: 0.9.2.7
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
230 |
|
231 |
First, make sure the plugin is not active (disabled) network-wide. Then make sure it's deactivated network-wide. Now you should be able to successful upgrade without breaking your site.
|
232 |
|
233 |
+
= A notification about file owner appears along with an FTP form, how can I resolve this? =
|
234 |
+
|
235 |
+
The plugin uses WordPress FileSystem functionality to write to files. It checks if the file owner, file owner group of created files match process owner. If this is not the case it cannot write or modify files.
|
236 |
+
|
237 |
+
Typically, you should tell your web host about the permission issue and they should be able to resolve it.
|
238 |
+
|
239 |
+
You can however try adding <em>define('FS_METHOD', 'direct');</em> to wp-config.php to circumvent the file and folder checks.
|
240 |
+
|
241 |
= This is too good to be true, how can I test the results? =
|
242 |
You will be able to see it instantly on each page load, but for tangible metrics, consider the following tools:
|
243 |
|
731 |
Please reach out to all of these people and support their projects if you're so inclined.
|
732 |
|
733 |
== Changelog ==
|
734 |
+
= 0.9.2.7 =
|
735 |
+
* Fixed config file write in more hosting environments
|
736 |
+
* Fixed legacy config file import on servers with hardened file permissions
|
737 |
+
* Fixed page cache write cache rules in some environments
|
738 |
+
* Fixed retina images
|
739 |
+
* Fixed false positive notifications when permissions are not changed or same
|
740 |
+
* Fixed minify help
|
741 |
+
* Improved upgrade notifications
|
742 |
+
* Improved page cache and minify notifications
|
743 |
|
744 |
= 0.9.2.6 =
|
745 |
* Added support for grouping cache entries for easier flushing
|
1225 |
== Upgrade Notice ==
|
1226 |
|
1227 |
= 0.9.2.6 =
|
1228 |
+
Thanks for using W3 Total Cache! As always, this update is very strongly recommended. This release contains fixes for users improving compatibility across more hosting environments. We appreciate your patience and help as we move toward making updates more seamless. Unfortunately, it's not easy to upgrade "low level" functionality like server configurations. We do it because we're trying to give you the advantages that large corporations have, for free.
|
w3-total-cache.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: W3 Total Cache
|
4 |
Description: The highest rated and most complete WordPress performance plugin. Dramatically improve the speed and user experience of your site. Add browser, page, object and database caching as well as minify and content delivery network (CDN) to WordPress.
|
5 |
-
Version: 0.9.2.
|
6 |
Plugin URI: http://www.w3-edge.com/wordpress-plugins/w3-total-cache/
|
7 |
Author: Frederick Townes
|
8 |
Author URI: http://www.linkedin.com/in/w3edge
|
2 |
/*
|
3 |
Plugin Name: W3 Total Cache
|
4 |
Description: The highest rated and most complete WordPress performance plugin. Dramatically improve the speed and user experience of your site. Add browser, page, object and database caching as well as minify and content delivery network (CDN) to WordPress.
|
5 |
+
Version: 0.9.2.7
|
6 |
Plugin URI: http://www.w3-edge.com/wordpress-plugins/w3-total-cache/
|
7 |
Author: Frederick Townes
|
8 |
Author URI: http://www.linkedin.com/in/w3edge
|