aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/smarty/smarty/demo/plugins/cacheresource.memcache.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/smarty/smarty/demo/plugins/cacheresource.memcache.php')
-rw-r--r--vendor/smarty/smarty/demo/plugins/cacheresource.memcache.php22
1 files changed, 10 insertions, 12 deletions
diff --git a/vendor/smarty/smarty/demo/plugins/cacheresource.memcache.php b/vendor/smarty/smarty/demo/plugins/cacheresource.memcache.php
index 9c8855c31..71fe9d3f1 100644
--- a/vendor/smarty/smarty/demo/plugins/cacheresource.memcache.php
+++ b/vendor/smarty/smarty/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();
- $res = $this->memcache->get($_keys);
- foreach ($res as $k => $v) {
- $_res[ $lookup[ $k ] ] = $v;
+ $res = array();
+ foreach ($keys as $key) {
+ $k = sha1($key);
+ $res[$key] = $this->memcache->get($k);
}
- 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;
}