0
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2024-12-23 08:51:53 +00:00
htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php
Edward Z. Yang 002395de09 [1.7.0] Add DefinitionCache decorators, implement Memory decorator
- Move serialization responsibility to Config
- Create DefinitionCacheFactory
- Implement Null definition cache

git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@1117 48356398-32a2-884e-a903-53898d9a118a
2007-05-29 20:21:33 +00:00

62 lines
1.4 KiB
PHP

<?php
require_once 'HTMLPurifier/DefinitionCache.php';
require_once 'HTMLPurifier/DefinitionCache/Decorator/Memory.php';
class HTMLPurifier_DefinitionCache_Decorator extends HTMLPurifier_DefinitionCache
{
/**
* Cache object we are decorating
*/
var $cache;
function HTMLPurifier_DefinitionCache_Decorator() {}
/**
* Lazy decorator function
* @param $cache Reference to cache object to decorate
*/
function decorate(&$cache) {
$decorator = $this->copy();
// reference is necessary for mocks in PHP 4
$decorator->cache =& $cache;
$decorator->type = $cache->type;
return $decorator;
}
/**
* Cross-compatible clone substitute
*/
function copy() {
return new HTMLPurifier_DefinitionCache_Decorator();
}
function add($def, $config) {
return $this->cache->add($def, $config);
}
function set($def, $config) {
return $this->cache->set($def, $config);
}
function replace($def, $config) {
return $this->cache->replace($def, $config);
}
function get($config) {
return $this->cache->get($config);
}
function flush() {
return $this->cache->flush();
}
function cleanup($config) {
return $this->cache->cleanup($config);
}
}
?>