all repos — wp-ffpc @ a9cf7ff058e78f7f7f5c4a708de1557ad64ff1ad

= 1.3.3 =
*2014-04-29*

What's changed:

* removed broadcast message
* better logs ( additional logs and adding translation compatibility )
Peter Molnar hello@petermolnar.eu
Tue, 29 Apr 2014 15:58:50 +0100
commit

a9cf7ff058e78f7f7f5c4a708de1557ad64ff1ad

parent

f95f0a3f2c5046c5bd3e6684f5ddd66b325830c5

4 files changed, 44 insertions(+), 31 deletions(-)

jump to
M readme.txtreadme.txt

@@ -4,18 +4,24 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=XU3DG7LLA76WC

Tags: cache, page cache, full page cache, nginx, memcached, apc, speed Requires at least: 3.0 Tested up to: 3.9 -Stable tag: 1.3.2 +Stable tag: 1.3.3 License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html -Fastest way of cache for WordPress: memcached + nginx! +The fastest way to cache: full page in memory cache for WordPress! == Description == -WP-FFPC ( WordPress Fast Full Page Cache ) is a cache plugin for [WordPress](http://wordpress.org/ "WordPress"). It works with any webserver, including apache2, lighttpd, nginx, however, can be connected with [NGiNX](http://NGiNX.org "NGiNX") through memcached for unbeatable speed. -Supports PHP Memcached, PHP Memcache and APC as storage engines, subdomain and domain based WordPress Networks. +WP-FFPC ( WordPress Fast Full Page Cache ) is a cache plugin for [WordPress](http://wordpress.org/ "WordPress"). It works with any webserver, including apache2, lighttpd, nginx. +It can be configured to join forces with [NGiNX](http://NGiNX.org "NGiNX")'s built-in [memcached plugin](http://nginx.org/en/docs/http/ngx_http_memcached_module.html "memcached plugin") for unbeatable speed. = Features: = -* Wordpress Network support ( for subdomain layout ) +* Wordpress Network support + * fully supported domain/subdomain Networks + * will work in Network Enabled mode only for subdirectory based Multisites ( no per site setting possibility ) +* supports variable backends + * memcached with PHP Memcached + * memcached with PHP Memcache + * APC * cache exclude possibilities ( home, feeds, archieves, pages, singles ) * (optional) cache for logged-in users * 404 caching

@@ -26,7 +32,6 @@ * pingback HTTP header preservation

* talkative log for [WP_DEBUG](http://codex.wordpress.org/WP_DEBUG "WP_DEBUG") * multiple memcached upstream support * precache ( manually or by timed by wp-cron ) -* [NGiNX](http://NGiNX.org "NGiNX") compatibility Many thanks for contributors, supporters, testers & bug reporters:

@@ -88,6 +93,14 @@ 4. memcached servers settings

5. NGiNX example == Changelog == + += 1.3.3 = +*2014-04-29* + +What's changed: + +* removed broadcast message +* better logs ( additional logs and adding translation compatibility ) = 1.3.2 = *2014-04-09*
M wp-ffpc-backend.phpwp-ffpc-backend.php

@@ -116,9 +116,8 @@ */

public function key ( &$prefix ) { /* data is string only with content, meta is not used in nginx */ $key = $prefix . str_replace ( array_keys( $this->urimap ), $this->urimap, $this->options['key'] ); - $this->log ( __translate__('original key configuration: ', $this->plugin_constant ) . $this->options['key'] ); - $this->log ( __translate__('setting key to: ', $this->plugin_constant ) . $key ); - + $this->log ( sprintf( __translate__( 'original key configuration: %s', $this->plugin_constant ), $this->options['key'] ) ); + $this->log ( sprintf( __translate__( 'setting key to: %s', $this->plugin_constant ), $key ) ); return $key; }

@@ -137,14 +136,14 @@ if ( ! $this->is_alive() )

return false; /* log the current action */ - $this->log ( __translate__('get ', $this->plugin_constant ). $key ); + $this->log ( sprintf( __translate__( 'get %s', $this->plugin_constant ), $key ) ); /* proxy to internal function */ $internal = $this->proxy( 'get' ); $result = $this->$internal( $key ); if ( $result === false ) - $this->log ( __translate__( "failed to get entry: ", $this->plugin_constant ) . $key ); + $this->log ( sprintf( __translate__( 'failed to get entry: %s', $this->plugin_constant ), $key ) ); return $result; }

@@ -164,7 +163,7 @@ if ( ! $this->is_alive() )

return false; /* log the current action */ - $this->log( __translate__('set ', $this->plugin_constant ) . $key . __translate__(' expiration time: ', $this->plugin_constant ) . $this->options['expire']); + $this->log ( sprintf( __translate__( 'set %s expiration time: %s', $this->plugin_constant ), $key, $this->options['expire'] ) ); /* proxy to internal function */ $internal = $this->options['cache_type'] . '_set';

@@ -172,7 +171,7 @@ $result = $this->$internal( $key, $data );

/* check result validity */ if ( $result === false ) - $this->log ( __translate__('failed to set entry: ', $this->plugin_constant ) . $key, LOG_WARNING ); + $this->log ( sprintf( __translate__( 'failed to set entry: %s', $this->plugin_constant ), $key ), LOG_WARNING ); return $result; }

@@ -232,7 +231,7 @@ $path = substr ( get_permalink( $post_id ) , 7 );

/* no path, don't do anything */ if ( empty( $path ) ) { - $this->log ( __translate__('unable to determine path from Post Permalink, post ID: ', $this->plugin_constant ) . $post_id , LOG_WARNING ); + $this->log ( sprintf( __translate__( 'unable to determine path from Post Permalink, post ID: %s', $this->plugin_constant ), $post_id ), LOG_WARNING ); return false; }

@@ -499,11 +498,11 @@ $keys = array ( $keys => true );

foreach ( $keys as $key => $dummy ) { if ( ! apc_delete ( $key ) ) { - $this->log ( __translate__('Failed to delete APC entry: ', $this->plugin_constant ) . $key, LOG_ERR ); + $this->log ( sprintf( __translate__( 'Failed to delete APC entry: %s', $this->plugin_constant ), $key ), LOG_ERR ); //throw new Exception ( __translate__('Deleting APC entry failed with key ', $this->plugin_constant ) . $key ); } else { - $this->log ( __translate__( 'APC entry delete: ', $this->plugin_constant ) . $key ); + $this->log ( sprintf( __translate__( 'APC entry delete: %s', $this->plugin_constant ), $key ) ); } } }

@@ -567,7 +566,7 @@

/* only add servers that does not exists already in connection pool */ if ( !@array_key_exists($server_id , $servers_alive ) ) { $this->connection->addServer( $server['host'], $server['port'] ); - $this->log ( $server_id . __translate__(" added, persistent mode: ", $this->plugin_constant ) . $this->options['persistent'] ); + $this->log ( sprintf( __translate__( '%s added, persistent mode: %s', $this->plugin_constant ), $server_id, $this->options['persistent'] ) ); } }

@@ -591,7 +590,7 @@ /* reset server status to offline */

$this->status[$server_id] = 0; /* if server uptime is not empty, it's most probably up & running */ if ( !empty($details['uptime']) ) { - $this->log ( $server_id . __translate__(" server is up & running", $this->plugin_constant )); + $this->log ( sprintf( __translate__( '%s server is up & running', $this->plugin_constant ), $server_id ) ); $this->status[$server_id] = 1; } }

@@ -621,7 +620,8 @@

/* if storing failed, log the error code */ if ( $result === false ) { $code = $this->connection->getResultCode(); - $this->log ( __translate__('unable to set entry ', $this->plugin_constant ) . $key . __translate__( ', Memcached error code: ', $this->plugin_constant ) . $code ); + $this->log ( sprintf( __translate__( 'unable to set entry: %s', $this->plugin_constant ), $key ) ); + $this->log ( sprintf( __translate__( 'Memcached error code: %s', $this->plugin_constant ), $code ) ); //throw new Exception ( __translate__('Unable to store Memcached entry ', $this->plugin_constant ) . $key . __translate__( ', error code: ', $this->plugin_constant ) . $code ); }

@@ -653,10 +653,11 @@ $kresult = $this->connection->delete( $key );

if ( $kresult === false ) { $code = $this->connection->getResultCode(); - $this->log ( __translate__('unable to delete entry ', $this->plugin_constant ) . $key . __translate__( ', Memcached error code: ', $this->plugin_constant ) . $code ); + $this->log ( sprintf( __translate__( 'unable to delete entry: %s', $this->plugin_constant ), $key ) ); + $this->log ( sprintf( __translate__( 'Memcached error code: %s', $this->plugin_constant ), $code ) ); } else { - $this->log ( __translate__( 'entry deleted: ', $this->plugin_constant ) . $key ); + $this->log ( sprintf( __translate__( 'entry deleted: %s', $this->plugin_constant ), $key ) ); } } }

@@ -702,7 +703,7 @@ $this->status[$server_id] = $this->connection->$conn ( 'unix:/' . $server['host'] );

else $this->status[$server_id] = $this->connection->$conn ( $server['host'] , $server['port'] ); - $this->log ( $server_id . __translate__(" added, persistent mode: ", $this->plugin_constant ) . $this->options['persistent'] ); + $this->log ( sprintf( __translate__( '%s added, persistent mode: %s', $this->plugin_constant ), $server_id, $this->options['persistent'] ) ); } /* backend is now alive */

@@ -721,9 +722,9 @@ /* get servers statistic from connection */

foreach ( $this->options['servers'] as $server_id => $server ) { $this->status[$server_id] = $this->connection->getServerStatus( $server['host'], $server['port'] ); if ( $this->status[$server_id] == 0 ) - $this->log ( $server_id . __translate__(" server is down", $this->plugin_constant )); + $this->log ( sprintf( __translate__( '%s server is down', $this->plugin_constant ), $server_id ) ); else - $this->log ( $server_id . __translate__(" server is up & running", $this->plugin_constant )); + $this->log ( sprintf( __translate__( '%s server is up & running', $this->plugin_constant ), $server_id ) ); } }

@@ -772,10 +773,10 @@ foreach ( $keys as $key => $dummy ) {

$kresult = $this->connection->delete( $key ); if ( $kresult === false ) { - $this->log ( __translate__('unable to delete entry ', $this->plugin_constant ) . $key ); + $this->log ( sprintf( __translate__( 'unable to delete entry: %s', $this->plugin_constant ), $key ) ); } else { - $this->log ( __translate__( 'entry deleted: ', $this->plugin_constant ) . $key ); + $this->log ( sprintf( __translate__( 'entry deleted: %s', $this->plugin_constant ), $key ) ); } } }
M wp-ffpc-class.phpwp-ffpc-class.php

@@ -30,7 +30,7 @@ * @var string $precache_phpfile Precache PHP worker location

* @var array $shell_possibilities List of possible precache worker callers [TODO] finish list of vars */ - class WP_FFPC extends WP_Plugins_Abstract_v2 { + class WP_FFPC extends WP_Plugins_Abstract_v3 { const host_separator = ','; const port_separator = ':'; const donation_id_key = 'hosted_button_id=';

@@ -188,8 +188,7 @@ add_filter('redirect_canonical', 'wp_ffpc_redirect_callback', 10, 2);

/* clean up schedule if needed */ if ( !isset( $this->options['precache_schedule'] ) || $this->options['precache_schedule'] == 'null' ) { - $this->log ( 'CRON clearing event' ); - wp_clear_scheduled_hook ( self::precache_id ); + $this->log ( sprintf ( __( 'clearing scheduled hook %s', $this->plugin_constant ), self::precache_id ) ); } /* add precache coldrun action */

@@ -744,7 +743,7 @@ $this->log ( __( 'Scheduling WP-CRON event', $this->plugin_constant ) );

$this->scheduled = wp_schedule_event( time(), $this->options['precache_schedule'] , self::precache_id ); } elseif ( ( !isset($this->options['precache_schedule']) || $this->options['precache_schedule'] == 'null' ) && !empty( $schedule ) ) { - $this->log ( __('Clearing WP-CRON clearing event ' , $this->plugin_constant ) ); + $this->log ( __('Clearing WP-CRON scheduled hook ' , $this->plugin_constant ) ); wp_clear_scheduled_hook ( self::precache_id ); }
M wp-ffpc.phpwp-ffpc.php

@@ -50,6 +50,6 @@ 'precache_schedule' => 'null',

'key' => '$scheme://$host$request_uri', ); -$wp_ffpc = new WP_FFPC ( 'wp-ffpc', '1.2', 'WP-FFPC', $wp_ffpc_defaults, 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=XU3DG7LLA76WC' ); +$wp_ffpc = new WP_FFPC ( 'wp-ffpc', '1.3.3', 'WP-FFPC', $wp_ffpc_defaults, 'https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=XU3DG7LLA76WC' ); ?>