From 6d8d3b67d89c5d6f8d36fb22e13c3da89cb44faf Mon Sep 17 00:00:00 2001 From: Mathias Date: Fri, 24 May 2019 12:08:44 +0200 Subject: [PATCH] Changed read and write methods for compatibility with class memcached The methods of the memcached class have different parameters than the memcache class. --- demo/plugins/cacheresource.memcache.php | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/demo/plugins/cacheresource.memcache.php b/demo/plugins/cacheresource.memcache.php index 9c8855c3..71fe9d3f 100644 --- a/demo/plugins/cacheresource.memcache.php +++ b/demo/plugins/cacheresource.memcache.php @@ -42,18 +42,12 @@ class Smarty_CacheResource_Memcache extends Smarty_CacheResource_KeyValueStore */ protected function read(array $keys) { - $_keys = $lookup = array(); - foreach ($keys as $k) { - $_k = sha1($k); - $_keys[] = $_k; - $lookup[ $_k ] = $k; + $res = array(); + foreach ($keys as $key) { + $k = sha1($key); + $res[$key] = $this->memcache->get($k); } - $_res = array(); - $res = $this->memcache->get($_keys); - foreach ($res as $k => $v) { - $_res[ $lookup[ $k ] ] = $v; - } - return $_res; + return $res; } /** @@ -68,7 +62,11 @@ class Smarty_CacheResource_Memcache extends Smarty_CacheResource_KeyValueStore { foreach ($keys as $k => $v) { $k = sha1($k); - $this->memcache->set($k, $v, 0, $expire); + if (class_exists('Memcached')) { + $this->memcache->set($k, $v, $expire); + } else { + $this->memcache->set($k, $v, 0, $expire); + } } return true; }