Nginx Helper - Version 1.7

Version Description

  • True full cache purge added.
  • Map file location changed to uploads' directory to fix http://rtcamp.com/support/topic/plugin-update-removes-map-file/
  • Log file location also changed to uploads' directory.
Download this release

Release Info

Developer saurabhshukla
Plugin Icon 128x128 Nginx Helper
Version 1.7
Comparing to
See all releases

Code changes from version 1.6.13 to 1.7

Files changed (4) hide show
  1. admin/admin.php +58 -51
  2. nginx-helper.php +29 -4
  3. purger.php +30 -4
  4. readme.txt +15 -6
admin/admin.php CHANGED
@@ -95,7 +95,7 @@ namespace rtCamp\WP\Nginx {
95
  <form id="purgeall" action="" method="post">
96
  <?php $purge_url = add_query_arg( array( 'nginx_helper_action' => 'purge', 'nginx_helper_urls' => 'all' ) ); ?>
97
  <?php $nonced_url = wp_nonce_url( $purge_url, 'nginx_helper-purge_all' ); ?>
98
- <a href="<?php echo $nonced_url; ?>" class="button-primary">Faux Purge all URLs</a>
99
  </form>
100
  <form id="post_form" method="post" action="#" name="smart_http_expire_form">
101
  <?php if ( ! ( ! is_network_admin() && is_multisite()) ) { ?>
@@ -195,8 +195,8 @@ namespace rtCamp\WP\Nginx {
195
  if ( is_network_admin() && $rt_wp_nginx_helper->options[ 'enable_map' ] != false ) {
196
  ?>
197
  <h3>Nginx Map</h3>
198
- <?php if ( ! is_writable( RT_WP_NGINX_HELPER_PATH . 'map.conf' ) ) { ?>
199
- <span class="error fade" style="display : block"><p><?php printf( __( "Can't write on map file.<br /><br />Check you have write permission on <strong>%s</strong>", "rt_wp_nginx_helper" ), RT_WP_NGINX_HELPER_PATH . 'map.conf' ); ?></p></span>
200
  <?php } ?>
201
 
202
  <table class="form-table rtnginx-table">
@@ -206,7 +206,7 @@ namespace rtCamp\WP\Nginx {
206
  <small>(recommended)</small>
207
  </th>
208
  <td>
209
- <?php echo RT_WP_NGINX_HELPER_PATH . 'map.conf'; ?>
210
  </td>
211
  </tr>
212
  <tr>
@@ -220,53 +220,60 @@ namespace rtCamp\WP\Nginx {
220
  </td>
221
  </tr>
222
  </table>
 
 
 
 
 
 
223
 
224
  <?php
225
- if ( $rt_wp_nginx_helper->options[ 'enable_log' ] != false ) {
226
- ?>
227
- <h3>Logging</h3>
228
-
229
- <?php if ( ! is_writable( RT_WP_NGINX_HELPER_PATH . 'nginx.log' ) ) { ?>
230
- <span class="error fade" style="display : block"><p><?php printf( __( "Can't write on log file.<br /><br />Check you have write permission on <strong>%s</strong>", "rt_wp_nginx_helper" ), RT_WP_NGINX_HELPER_PATH . 'nginx.log' ); ?></p></span>
231
- <?php } ?>
232
-
233
- <table class="form-table rtnginx-table">
234
- <tbody>
235
- <tr>
236
- <th><label for="rt_wp_nginx_helper_logs_path"><?php _e( 'Logs path', 'rt_wp_nginx_helper' ); ?></label></th>
237
- <td><?php echo RT_WP_NGINX_HELPER_PATH ?>nginx.log</td>
238
- </tr>
239
- <tr>
240
- <th><label for="rt_wp_nginx_helper_logs_link"><?php _e( 'View Log', 'rt_wp_nginx_helper' ); ?></label></th>
241
- <td><a target="_blank" href="<?php echo RT_WP_NGINX_HELPER_URL ?>nginx.log">Log</a></td>
242
- </tr>
243
-
244
- <tr>
245
- <th><label for="rt_wp_nginx_helper_log_level"><?php _e( 'Log level', 'rt_wp_nginx_helper' ); ?></label></th>
246
- <td>
247
- <select name="log_level">
248
- <option value="NONE"<?php selected( $rt_wp_nginx_helper->options[ 'log_level' ], 'NONE' ); ?>><?php _e( 'None', 'rt_wp_nginx_helper' ); ?></option>
249
- <option value="INFO"<?php selected( $rt_wp_nginx_helper->options[ 'log_level' ], 'INFO' ); ?>><?php _e( 'Info', 'rt_wp_nginx_helper' ); ?></option>
250
- <option value="WARNING"<?php selected( $rt_wp_nginx_helper->options[ 'log_level' ], 'WARNING' ); ?>><?php _e( 'Warning', 'rt_wp_nginx_helper' ); ?></option>
251
- <option value="ERROR"<?php selected( $rt_wp_nginx_helper->options[ 'log_level' ], 'ERROR' ); ?>><?php _e( 'Error', 'rt_wp_nginx_helper' ); ?></option>
252
- </select>
253
- </td>
254
- </tr>
255
-
256
- <tr>
257
- <th><label for="log_filesize"><?php _e( 'Max log file size', 'rt_wp_nginx_helper' ); ?></label></th>
258
- <td>
259
- <input id="log_filesize" class="small-text" type="text" name="log_filesize" value="<?php echo $rt_wp_nginx_helper->options[ 'log_filesize' ] ?>" /> Mb
260
- <?php if ( $error_log_filesize ) { ?>
261
- <span class="error fade" style="display : block"><p><strong><?php echo $error_log_filesize; ?></strong></p></span>
262
- <?php } ?>
263
- </td>
264
- </tr>
265
- </tbody>
266
- </table>
267
-
268
- <br />
269
  <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
270
  <?php } ?>
271
 
272
  <p class="submit">
@@ -289,10 +296,10 @@ namespace rtCamp\WP\Nginx {
289
  $nonced_url = wp_nonce_url( $purge_url, 'nginx_helper-purge_all' );
290
  $admin_bar->add_menu( array(
291
  'id' => 'nginx-helper-purge-all',
292
- 'title' => __( 'Faux Purge Cache', 'rt-nginx' ),
293
  'href' => $nonced_url,
294
  'meta' => array(
295
- 'title' => __( 'Faux Purge Cache', 'rt-nginx' ),
296
  ),
297
  )
298
  );
@@ -336,4 +343,4 @@ namespace rtCamp\WP\Nginx {
336
  }
337
 
338
  }
339
- ?>
95
  <form id="purgeall" action="" method="post">
96
  <?php $purge_url = add_query_arg( array( 'nginx_helper_action' => 'purge', 'nginx_helper_urls' => 'all' ) ); ?>
97
  <?php $nonced_url = wp_nonce_url( $purge_url, 'nginx_helper-purge_all' ); ?>
98
+ <a href="<?php echo $nonced_url; ?>" class="button-primary">Purge Cache</a>
99
  </form>
100
  <form id="post_form" method="post" action="#" name="smart_http_expire_form">
101
  <?php if ( ! ( ! is_network_admin() && is_multisite()) ) { ?>
195
  if ( is_network_admin() && $rt_wp_nginx_helper->options[ 'enable_map' ] != false ) {
196
  ?>
197
  <h3>Nginx Map</h3>
198
+ <?php if ( ! is_writable( $rt_wp_nginx_helper->functional_asset_path() . 'map.conf' ) ) { ?>
199
+ <span class="error fade" style="display : block"><p><?php printf( __( "Can't write on map file.<br /><br />Check you have write permission on <strong>%s</strong>", "rt_wp_nginx_helper" ), $rt_wp_nginx_helper->functional_asset_path() . 'map.conf' ); ?></p></span>
200
  <?php } ?>
201
 
202
  <table class="form-table rtnginx-table">
206
  <small>(recommended)</small>
207
  </th>
208
  <td>
209
+ <?php echo $rt_wp_nginx_helper->functional_asset_path() . 'map.conf'; ?>
210
  </td>
211
  </tr>
212
  <tr>
220
  </td>
221
  </tr>
222
  </table>
223
+ <?php } ?>
224
+
225
+ <?php
226
+ if ( $rt_wp_nginx_helper->options[ 'enable_log' ] != false ) {
227
+ ?>
228
+ <h3>Logging</h3>
229
 
230
  <?php
231
+ if ( ! is_writable( $rt_wp_nginx_helper->functional_asset_path() . 'nginx.log' ) ) {
232
+ $rt_wp_nginx_purger->log( "+++++++++" );
233
+ $rt_wp_nginx_purger->log( "+Log Test" );
234
+ $rt_wp_nginx_purger->log( "+++++++++" );
235
+ }
236
+ if ( ! is_writable( $rt_wp_nginx_helper->functional_asset_path() . 'nginx.log' ) ) {
237
+ ?>
238
+ <span class="error fade" style="display : block"><p><?php printf( __( "Can't write on log file.<br /><br />Check you have write permission on <strong>%s</strong>", "rt_wp_nginx_helper" ), $rt_wp_nginx_helper->functional_asset_path() . 'nginx.log' ); ?></p></span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
  <?php } ?>
240
+
241
+ <table class="form-table rtnginx-table">
242
+ <tbody>
243
+ <tr>
244
+ <th><label for="rt_wp_nginx_helper_logs_path"><?php _e( 'Logs path', 'rt_wp_nginx_helper' ); ?></label></th>
245
+ <td><?php echo $rt_wp_nginx_helper->functional_asset_path(); ?>nginx.log</td>
246
+ </tr>
247
+ <tr>
248
+ <th><label for="rt_wp_nginx_helper_logs_link"><?php _e( 'View Log', 'rt_wp_nginx_helper' ); ?></label></th>
249
+ <td><a target="_blank" href="<?php echo $rt_wp_nginx_helper->functional_asset_url(); ?>nginx.log">Log</a></td>
250
+ </tr>
251
+
252
+ <tr>
253
+ <th><label for="rt_wp_nginx_helper_log_level"><?php _e( 'Log level', 'rt_wp_nginx_helper' ); ?></label></th>
254
+ <td>
255
+ <select name="log_level">
256
+ <option value="NONE"<?php selected( $rt_wp_nginx_helper->options[ 'log_level' ], 'NONE' ); ?>><?php _e( 'None', 'rt_wp_nginx_helper' ); ?></option>
257
+ <option value="INFO"<?php selected( $rt_wp_nginx_helper->options[ 'log_level' ], 'INFO' ); ?>><?php _e( 'Info', 'rt_wp_nginx_helper' ); ?></option>
258
+ <option value="WARNING"<?php selected( $rt_wp_nginx_helper->options[ 'log_level' ], 'WARNING' ); ?>><?php _e( 'Warning', 'rt_wp_nginx_helper' ); ?></option>
259
+ <option value="ERROR"<?php selected( $rt_wp_nginx_helper->options[ 'log_level' ], 'ERROR' ); ?>><?php _e( 'Error', 'rt_wp_nginx_helper' ); ?></option>
260
+ </select>
261
+ </td>
262
+ </tr>
263
+
264
+ <tr>
265
+ <th><label for="log_filesize"><?php _e( 'Max log file size', 'rt_wp_nginx_helper' ); ?></label></th>
266
+ <td>
267
+ <input id="log_filesize" class="small-text" type="text" name="log_filesize" value="<?php echo $rt_wp_nginx_helper->options[ 'log_filesize' ] ?>" /> Mb
268
+ <?php if ( $error_log_filesize ) { ?>
269
+ <span class="error fade" style="display : block"><p><strong><?php echo $error_log_filesize; ?></strong></p></span>
270
+ <?php } ?>
271
+ </td>
272
+ </tr>
273
+ </tbody>
274
+ </table>
275
+
276
+ <br />
277
  <?php } ?>
278
 
279
  <p class="submit">
296
  $nonced_url = wp_nonce_url( $purge_url, 'nginx_helper-purge_all' );
297
  $admin_bar->add_menu( array(
298
  'id' => 'nginx-helper-purge-all',
299
+ 'title' => __( 'Purge Cache', 'rt-nginx' ),
300
  'href' => $nonced_url,
301
  'meta' => array(
302
+ 'title' => __( 'Purge Cache', 'rt-nginx' ),
303
  ),
304
  )
305
  );
343
  }
344
 
345
  }
346
+ ?>
nginx-helper.php CHANGED
@@ -3,21 +3,22 @@
3
  Plugin Name: Nginx Helper
4
  Plugin URI: http://rtcamp.com/
5
  Description: An nginx helper that serves various functions.
6
- Version: 1.6.13
7
  Author: rtCamp
8
  Author URI: http://rtcamp.com
9
  Requires at least: 3.0
10
  Tested up to: 3.5
11
  */
12
-
13
  namespace rtCamp\WP\Nginx {
14
  define( 'rtCamp\WP\Nginx\RT_WP_NGINX_HELPER_PATH', plugin_dir_path( __FILE__ ) );
15
  define( 'rtCamp\WP\Nginx\RT_WP_NGINX_HELPER_URL', plugin_dir_url( __FILE__ ) );
16
 
 
17
  class Helper {
18
 
19
  var $minium_WP = '3.0';
20
  var $options = null;
 
21
 
22
  function __construct() {
23
 
@@ -74,7 +75,13 @@ namespace rtCamp\WP\Nginx {
74
  }
75
 
76
  function activate() {
 
 
 
 
 
77
  include_once (RT_WP_NGINX_HELPER_PATH . 'admin/install.php');
 
78
  rt_wp_nginx_helper_install();
79
  }
80
 
@@ -215,10 +222,24 @@ namespace rtCamp\WP\Nginx {
215
  }
216
  }
217
 
 
 
 
 
 
 
 
 
 
 
 
 
 
218
  function update_map() {
219
  if ( is_multisite() ) {
220
  $rt_nginx_map = $this->get_map();
221
- if ( $fp = fopen( RT_WP_NGINX_HELPER_PATH . 'map.conf', 'w+' ) ) {
 
222
  fwrite( $fp, $rt_nginx_map );
223
  fclose( $fp );
224
  return true;
@@ -274,7 +295,7 @@ namespace rtCamp\WP\Nginx {
274
 
275
  switch ( $action ) {
276
  case 'purge':
277
- $rt_wp_nginx_purger->purge_them_all();
278
  break;
279
  }
280
 
@@ -286,6 +307,10 @@ namespace rtCamp\WP\Nginx {
286
  }
287
 
288
  namespace {
 
 
 
 
289
  global $current_blog;
290
 
291
  if ( is_admin() ) {
3
  Plugin Name: Nginx Helper
4
  Plugin URI: http://rtcamp.com/
5
  Description: An nginx helper that serves various functions.
6
+ Version: 1.7
7
  Author: rtCamp
8
  Author URI: http://rtcamp.com
9
  Requires at least: 3.0
10
  Tested up to: 3.5
11
  */
 
12
  namespace rtCamp\WP\Nginx {
13
  define( 'rtCamp\WP\Nginx\RT_WP_NGINX_HELPER_PATH', plugin_dir_path( __FILE__ ) );
14
  define( 'rtCamp\WP\Nginx\RT_WP_NGINX_HELPER_URL', plugin_dir_url( __FILE__ ) );
15
 
16
+
17
  class Helper {
18
 
19
  var $minium_WP = '3.0';
20
  var $options = null;
21
+ var $plugin_name = 'nginx-helper';
22
 
23
  function __construct() {
24
 
75
  }
76
 
77
  function activate() {
78
+
79
+ $path = $this->functional_asset_path();
80
+ if(!is_dir($path)){
81
+ mkdir($path);
82
+ }
83
  include_once (RT_WP_NGINX_HELPER_PATH . 'admin/install.php');
84
+
85
  rt_wp_nginx_helper_install();
86
  }
87
 
222
  }
223
  }
224
 
225
+ function functional_asset_path(){
226
+ $dir = wp_upload_dir();
227
+ $path = $dir['basedir'].'/nginx-helper/';
228
+ return $path;
229
+ }
230
+
231
+ function functional_asset_url(){
232
+ $dir = wp_upload_dir();
233
+ $url = $dir['baseurl'].'/nginx-helper/';
234
+
235
+ return $url;
236
+ }
237
+
238
  function update_map() {
239
  if ( is_multisite() ) {
240
  $rt_nginx_map = $this->get_map();
241
+
242
+ if ( $fp = fopen( $this->functional_asset_path() . 'map.conf', 'w+' ) ) {
243
  fwrite( $fp, $rt_nginx_map );
244
  fclose( $fp );
245
  return true;
295
 
296
  switch ( $action ) {
297
  case 'purge':
298
+ $rt_wp_nginx_purger->true_purge_all();
299
  break;
300
  }
301
 
307
  }
308
 
309
  namespace {
310
+
311
+ if (!defined('RT_WP_NGINX_HELPER_CACHE_PATH')){
312
+ define( 'RT_WP_NGINX_HELPER_CACHE_PATH','/var/run/nginx-cache/');
313
+ }
314
  global $current_blog;
315
 
316
  if ( is_admin() ) {
purger.php CHANGED
@@ -270,7 +270,7 @@ namespace rtCamp\WP\Nginx {
270
  $log_levels = array( "INFO" => 0, "WARNING" => 1, "ERROR" => 2, "NONE" => 3 );
271
 
272
  if ( $log_levels[ $level ] >= $log_levels[ $rt_wp_nginx_helper->options[ 'log_level' ] ] ) {
273
- if ( $fp = fopen( RT_WP_NGINX_HELPER_PATH . 'nginx.log', "a+" ) ) {
274
  fwrite( $fp, "\n" . gmdate( "Y-m-d H:i:s " ) . " | " . $level . " | " . $msg );
275
  fclose( $fp );
276
  }
@@ -285,17 +285,17 @@ namespace rtCamp\WP\Nginx {
285
 
286
  $maxSizeAllowed = (is_numeric( $rt_wp_nginx_helper->options[ 'log_filesize' ] )) ? $rt_wp_nginx_helper->options[ 'log_filesize' ] * 1048576 : 5242880;
287
 
288
- $fileSize = filesize( RT_WP_NGINX_HELPER_PATH . 'nginx.log' );
289
 
290
  if ( $fileSize > $maxSizeAllowed ) {
291
 
292
  $offset = $fileSize - $maxSizeAllowed;
293
 
294
- if ( $file_content = file_get_contents( RT_WP_NGINX_HELPER_PATH . 'nginx.log', NULL, NULL, $offset ) ) {
295
 
296
  if ( $file_content = strstr( $file_content, "\n" ) ) {
297
 
298
- if ( $fp = fopen( RT_WP_NGINX_HELPER_PATH . 'nginx.log', "w+" ) ) {
299
  fwrite( $fp, $file_content );
300
  fclose( $fp );
301
  }
@@ -673,6 +673,32 @@ namespace rtCamp\WP\Nginx {
673
  return true;
674
  }
675
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
676
  }
677
 
678
  }
270
  $log_levels = array( "INFO" => 0, "WARNING" => 1, "ERROR" => 2, "NONE" => 3 );
271
 
272
  if ( $log_levels[ $level ] >= $log_levels[ $rt_wp_nginx_helper->options[ 'log_level' ] ] ) {
273
+ if ( $fp = fopen( $rt_wp_nginx_helper->functional_asset_path() . 'nginx.log', "a+" ) ) {
274
  fwrite( $fp, "\n" . gmdate( "Y-m-d H:i:s " ) . " | " . $level . " | " . $msg );
275
  fclose( $fp );
276
  }
285
 
286
  $maxSizeAllowed = (is_numeric( $rt_wp_nginx_helper->options[ 'log_filesize' ] )) ? $rt_wp_nginx_helper->options[ 'log_filesize' ] * 1048576 : 5242880;
287
 
288
+ $fileSize = filesize( $rt_wp_nginx_helper->functional_asset_path() . 'nginx.log' );
289
 
290
  if ( $fileSize > $maxSizeAllowed ) {
291
 
292
  $offset = $fileSize - $maxSizeAllowed;
293
 
294
+ if ( $file_content = file_get_contents( $rt_wp_nginx_helper->functional_asset_path() . 'nginx.log', NULL, NULL, $offset ) ) {
295
 
296
  if ( $file_content = strstr( $file_content, "\n" ) ) {
297
 
298
+ if ( $fp = fopen( $rt_wp_nginx_helper->functional_asset_path() . 'nginx.log', "w+" ) ) {
299
  fwrite( $fp, $file_content );
300
  fclose( $fp );
301
  }
673
  return true;
674
  }
675
 
676
+ function true_purge_all(){
677
+ $this->unlinkRecursive(RT_WP_NGINX_HELPER_CACHE_PATH);
678
+ $this->log( "* * * * *" );
679
+ $this->log( "* Purged Everything!" );
680
+ $this->log( "* * * * *" );
681
+ }
682
+
683
+ function unlinkRecursive( $dir ) {
684
+ if ( ! $dh = opendir( $dir ) ) {
685
+ return;
686
+ }
687
+ while ( false !== ($obj = readdir( $dh )) ) {
688
+ if ( $obj == '.' || $obj == '..' ) {
689
+ continue;
690
+ }
691
+
692
+ if ( ! unlink( $dir . '/' . $obj ) ) {
693
+ unlinkRecursive( $dir . '/' . $obj, true );
694
+ }
695
+ }
696
+
697
+ closedir( $dh );
698
+
699
+ return;
700
+ }
701
+
702
  }
703
 
704
  }
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === Nginx ===
2
- Contributors: rtcamp, rahul286, saurabhshukla, Darren Slatten, jk3us, daankortenbach, telofy
3
  Tags: nginx, cache, purge, nginx map, nginx cache, maps, fastcgi, proxy, rewrite, permalinks
4
  Requires at least: 3.0
5
  Tested up to: 3.5
6
- Stable tag: 1.6.13
7
  License: GPLv2 or later (of-course)
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
  Donate Link: http://rtcamp.com/donate/
@@ -86,9 +86,13 @@ So, in the above eg, the purge url will be http://yoursite.com/purge/about/
86
  Just open this in a browser and the page will be purged instantly.
87
  Needless to say, this won't work, if you have a page or taxonomy called 'purge'.
88
 
89
- **Q. There's a 'faux purge all' button? Does it purge the whole site?**
90
 
91
- This is a faux purge all. This just tries to cleanse all the cache in its own limited manner. There isn't and can't be a true purge all. See this discussion: http://wordpress.org/support/topic/feature-suggestion-for-additional-purge-options?replies=13.
 
 
 
 
92
 
93
  = FAQ - Nginx Map =
94
 
@@ -109,6 +113,11 @@ Its just that we are hyperactive on our own forum!
109
 
110
  == Changelog ==
111
 
 
 
 
 
 
112
  = 1.6.13 =
113
  * [pjv](http://profiles.wordpress.org/pjv/) changed the way home url is accessed. Instead of site option, the plugin now uses home_url() function.
114
 
@@ -222,5 +231,5 @@ Its just that we are hyperactive on our own forum!
222
 
223
  == Upgrade Notice ==
224
 
225
- = 1.6.13 =
226
- Changed home url method.
1
  === Nginx ===
2
+ Contributors: rtcamp, rahul286, saurabhshukla, Darren Slatten, jk3us, daankortenbach, telofy, pjv
3
  Tags: nginx, cache, purge, nginx map, nginx cache, maps, fastcgi, proxy, rewrite, permalinks
4
  Requires at least: 3.0
5
  Tested up to: 3.5
6
+ Stable tag: 1.7
7
  License: GPLv2 or later (of-course)
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
  Donate Link: http://rtcamp.com/donate/
86
  Just open this in a browser and the page will be purged instantly.
87
  Needless to say, this won't work, if you have a page or taxonomy called 'purge'.
88
 
89
+ **Q. There's a 'purge all' button? Does it purge the whole site?**
90
 
91
+ Yes, it does. It physically empties the cache directory. It is set by default to `/var/run/nginx-cache/`.
92
+
93
+ If your cache directory is different, you can override this in your wp-config.php by adding
94
+ `define('RT_WP_NGINX_HELPER_CACHE_PATH','/var/run/nginx-cache/');`
95
+ Replace the path with your own.
96
 
97
  = FAQ - Nginx Map =
98
 
113
 
114
  == Changelog ==
115
 
116
+ = 1.7 =
117
+ * True full cache purge added.
118
+ * Map file location changed to uploads' directory to fix http://rtcamp.com/support/topic/plugin-update-removes-map-file/
119
+ * Log file location also changed to uploads' directory.
120
+
121
  = 1.6.13 =
122
  * [pjv](http://profiles.wordpress.org/pjv/) changed the way home url is accessed. Instead of site option, the plugin now uses home_url() function.
123
 
231
 
232
  == Upgrade Notice ==
233
 
234
+ = 1.7 =
235
+ Added true purge all. Updated log and map file locations.