mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2024-11-10 07:38:41 +00:00
e2a951420f
- Create generic DecoratorHarness - Name decorators, so that they can be overridden or removed - Add setup function to definition cache factory git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@1118 48356398-32a2-884e-a903-53898d9a118a
63 lines
1.4 KiB
PHP
63 lines
1.4 KiB
PHP
<?php
|
|
|
|
require_once 'HTMLPurifier/DefinitionCache.php';
|
|
|
|
require_once 'HTMLPurifier/DefinitionCache/Decorator/Memory.php';
|
|
require_once 'HTMLPurifier/DefinitionCache/Decorator/Cleanup.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);
|
|
}
|
|
|
|
}
|
|
|
|
?>
|