From fb2761a2034ed3ae786145418a6ca0b0262ef393 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Thu, 15 Aug 2013 03:31:42 +0200 Subject: [PATCH] Do not define xcache_unset_by_prefix() if it does not exist. The defined function is not compatible with the function provided by xcache because it does not honor the prefix parameter. Thus defining it like this is a bad idea. --- lib/memcache/xcache.php | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/memcache/xcache.php b/lib/memcache/xcache.php index 7880518fd9..e0acb11b05 100644 --- a/lib/memcache/xcache.php +++ b/lib/memcache/xcache.php @@ -37,7 +37,12 @@ class XCache extends Cache { } public function clear($prefix='') { - xcache_unset_by_prefix($this->getNamespace().$prefix); + if (function_exists('xcache_unset_by_prefix')) { + xcache_unset_by_prefix($this->getNamespace().$prefix); + } else { + // Since we can not clear by prefix, we just clear the whole cache. + xcache_clear_cache(\XC_TYPE_VAR, 0); + } return true; } @@ -56,10 +61,3 @@ class XCache extends Cache { return true; } } - -if(!function_exists('xcache_unset_by_prefix')) { - function xcache_unset_by_prefix($prefix) { - // Since we can't clear targetted cache, we'll clear all. :( - xcache_clear_cache(\XC_TYPE_VAR, 0); - } -}