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 25d49f4ec0 Explicitly specify decorator name.
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
2013-07-26 21:37:33 -07:00

81 lines
1.6 KiB
PHP

<?php
class HTMLPurifier_DefinitionCache_Decorator extends HTMLPurifier_DefinitionCache
{
/**
* Cache object we are decorating
* @var HTMLPurifier_DefinitionCache
*/
public $cache;
/**
* The name of the decorator
* @var string
*/
public $name;
public function __construct() {}
/**
* Lazy decorator function
*
* @param HTMLPurifier_DefinitionCache $cache Reference to cache object to decorate
*
* @return HTMLPurifier_DefinitionCache_Decorator
*/
public 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
*/
public function copy()
{
return new HTMLPurifier_DefinitionCache_Decorator();
}
public function add($def, $config)
{
return $this->cache->add($def, $config);
}
public function set($def, $config)
{
return $this->cache->set($def, $config);
}
public function replace($def, $config)
{
return $this->cache->replace($def, $config);
}
public function get($config)
{
return $this->cache->get($config);
}
public function remove($config)
{
return $this->cache->remove($config);
}
public function flush($config)
{
return $this->cache->flush($config);
}
public function cleanup($config)
{
return $this->cache->cleanup($config);
}
}
// vim: et sw=4 sts=4