diff options
author | friendica <info@friendica.com> | 2012-07-03 22:23:08 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-07-03 22:23:08 -0700 |
commit | fd626022ec02ef47b9142bba08180502babbd0ca (patch) | |
tree | ffc77e4e9cafdc6e20217f3970de982cabcbd838 /library/Smarty/demo/plugins/cacheresource.apc.php | |
parent | 13b4962531ca3c4f085b385a2c6b8f088abb7d6a (diff) | |
download | volse-hubzilla-fd626022ec02ef47b9142bba08180502babbd0ca.tar.gz volse-hubzilla-fd626022ec02ef47b9142bba08180502babbd0ca.tar.bz2 volse-hubzilla-fd626022ec02ef47b9142bba08180502babbd0ca.zip |
add smarty engine, remove some obsolete zot1 stuff
Diffstat (limited to 'library/Smarty/demo/plugins/cacheresource.apc.php')
-rw-r--r-- | library/Smarty/demo/plugins/cacheresource.apc.php | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/library/Smarty/demo/plugins/cacheresource.apc.php b/library/Smarty/demo/plugins/cacheresource.apc.php new file mode 100644 index 000000000..00ba59817 --- /dev/null +++ b/library/Smarty/demo/plugins/cacheresource.apc.php @@ -0,0 +1,77 @@ +<?php + +/** + * APC CacheResource + * + * CacheResource Implementation based on the KeyValueStore API to use + * memcache as the storage resource for Smarty's output caching. + * * + * @package CacheResource-examples + * @author Uwe Tews + */ +class Smarty_CacheResource_Apc extends Smarty_CacheResource_KeyValueStore { + + public function __construct() + { + // test if APC is present + if(!function_exists('apc_cache_info')) { + throw new Exception('APC Template Caching Error: APC is not installed'); + } + } + + /** + * Read values for a set of keys from cache + * + * @param array $keys list of keys to fetch + * @return array list of values with the given keys used as indexes + * @return boolean true on success, false on failure + */ + protected function read(array $keys) + { + $_res = array(); + $res = apc_fetch($keys); + foreach ($res as $k => $v) { + $_res[$k] = $v; + } + return $_res; + } + + /** + * Save values for a set of keys to cache + * + * @param array $keys list of values to save + * @param int $expire expiration time + * @return boolean true on success, false on failure + */ + protected function write(array $keys, $expire=null) + { + foreach ($keys as $k => $v) { + apc_store($k, $v, $expire); + } + return true; + } + + /** + * Remove values from cache + * + * @param array $keys list of keys to delete + * @return boolean true on success, false on failure + */ + protected function delete(array $keys) + { + foreach ($keys as $k) { + apc_delete($k); + } + return true; + } + + /** + * Remove *all* values from cache + * + * @return boolean true on success, false on failure + */ + protected function purge() + { + return apc_clear_cache('user'); + } +} |