From 57ec15961b65e435229d78040796a89de8d0caaa Mon Sep 17 00:00:00 2001 From: Stefan Doorn Date: Fri, 30 Jan 2015 09:50:27 +0100 Subject: [PATCH 1/3] Flush all (from header menu) now flushes all WPML registered domains too --- .../varnish-cache/class/cache/class.instance.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/wordpress/varnish-cache/class/cache/class.instance.php b/wordpress/varnish-cache/class/cache/class.instance.php index fc0a888..0cd8a27 100644 --- a/wordpress/varnish-cache/class/cache/class.instance.php +++ b/wordpress/varnish-cache/class/cache/class.instance.php @@ -32,12 +32,24 @@ abstract protected function _delete(array $key); /** * Flush the entire cache. + * + * When WPML is activated, all WPML domains are gathered and flushed one by one * * @return bool */ public function flush() { - return $this->delete(home_url('/.*')); + // Get all WPML domains + if ( function_exists('icl_object_id') ) { + $success = false; + foreach(icl_get_languages() as $lang) { + $success = ($this->delete($lang['url'] . '/.*') && $success ? true : false); + } + return $success; + } + else { + return $this->delete(home_url('/.*')); + } } /** From 413d8cdb6013ed96aba6e64dfa2f9c09fda31288 Mon Sep 17 00:00:00 2001 From: Stefan Doorn Date: Fri, 30 Jan 2015 09:52:22 +0100 Subject: [PATCH 2/3] Fix small error --- wordpress/varnish-cache/class/cache/class.instance.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wordpress/varnish-cache/class/cache/class.instance.php b/wordpress/varnish-cache/class/cache/class.instance.php index 0cd8a27..9794ec6 100644 --- a/wordpress/varnish-cache/class/cache/class.instance.php +++ b/wordpress/varnish-cache/class/cache/class.instance.php @@ -41,7 +41,7 @@ public function flush() { // Get all WPML domains if ( function_exists('icl_object_id') ) { - $success = false; + $success = true; foreach(icl_get_languages() as $lang) { $success = ($this->delete($lang['url'] . '/.*') && $success ? true : false); } From 8a08144ea87fa8905e5bdf74b1a105ad4828e219 Mon Sep 17 00:00:00 2001 From: Stefan Doorn Date: Fri, 30 Jan 2015 10:01:53 +0100 Subject: [PATCH 3/3] Small fix for building URL --- wordpress/varnish-cache/class/cache/class.instance.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wordpress/varnish-cache/class/cache/class.instance.php b/wordpress/varnish-cache/class/cache/class.instance.php index 9794ec6..79cb315 100644 --- a/wordpress/varnish-cache/class/cache/class.instance.php +++ b/wordpress/varnish-cache/class/cache/class.instance.php @@ -43,7 +43,7 @@ public function flush() if ( function_exists('icl_object_id') ) { $success = true; foreach(icl_get_languages() as $lang) { - $success = ($this->delete($lang['url'] . '/.*') && $success ? true : false); + $success = ((substr($lang['url'], -1) === '/' ? $this->delete(substr($lang['url'], 0, -1) . '/.*') : $this->delete($lang['url'] . '/.*')) && $success ? true : false); } return $success; }