| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 | 
							- <?php
 
- /**
 
-  * \ElggStaticVariableCache
 
-  * Dummy cache which stores values in a static array. Using this makes future
 
-  * replacements to other caching back ends (eg memcache) much easier.
 
-  *
 
-  * @package    Elgg.Core
 
-  * @subpackage Cache
 
-  */
 
- class ElggStaticVariableCache extends \ElggSharedMemoryCache {
 
- 	/**
 
- 	 * The cache.
 
- 	 *
 
- 	 * @var array
 
- 	 */
 
- 	private static $__cache;
 
- 	/**
 
- 	 * Create the variable cache.
 
- 	 *
 
- 	 * This function creates a variable cache in a static variable in
 
- 	 * memory, optionally with a given namespace (to avoid overlap).
 
- 	 *
 
- 	 * @param string $namespace The namespace for this cache to write to.
 
- 	 * @warning namespaces of the same name are shared!
 
- 	 */
 
- 	public function __construct($namespace = 'default') {
 
- 		$this->setNamespace($namespace);
 
- 		$this->clear();
 
- 	}
 
- 	/**
 
- 	 * Save a key
 
- 	 *
 
- 	 * @param string $key  Name
 
- 	 * @param string $data Value
 
- 	 *
 
- 	 * @return boolean
 
- 	 */
 
- 	public function save($key, $data) {
 
- 		$namespace = $this->getNamespace();
 
- 		\ElggStaticVariableCache::$__cache[$namespace][$key] = $data;
 
- 		return true;
 
- 	}
 
- 	/**
 
- 	 * Load a key
 
- 	 *
 
- 	 * @param string $key    Name
 
- 	 * @param int    $offset Offset
 
- 	 * @param int    $limit  Limit
 
- 	 *
 
- 	 * @return string
 
- 	 */
 
- 	public function load($key, $offset = 0, $limit = null) {
 
- 		$namespace = $this->getNamespace();
 
- 		if (isset(\ElggStaticVariableCache::$__cache[$namespace][$key])) {
 
- 			return \ElggStaticVariableCache::$__cache[$namespace][$key];
 
- 		}
 
- 		return false;
 
- 	}
 
- 	/**
 
- 	 * Invalidate a given key.
 
- 	 *
 
- 	 * @param string $key Name
 
- 	 *
 
- 	 * @return bool
 
- 	 */
 
- 	public function delete($key) {
 
- 		$namespace = $this->getNamespace();
 
- 		unset(\ElggStaticVariableCache::$__cache[$namespace][$key]);
 
- 		return true;
 
- 	}
 
- 	/**
 
- 	 * Clears the cache for a particular namespace
 
- 	 *
 
- 	 * @return void
 
- 	 */
 
- 	public function clear() {
 
- 		$namespace = $this->getNamespace();
 
- 		if (!isset(\ElggStaticVariableCache::$__cache)) {
 
- 			\ElggStaticVariableCache::$__cache = array();
 
- 		}
 
- 		\ElggStaticVariableCache::$__cache[$namespace] = array();
 
- 	}
 
- }
 
 
  |