2010-09-09 03:14:17 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Definition cache decorator class that cleans up the cache
|
|
|
|
* whenever there is a cache miss.
|
|
|
|
*/
|
2015-01-02 06:18:27 +00:00
|
|
|
class HTMLPurifier_DefinitionCache_Decorator_Cleanup extends HTMLPurifier_DefinitionCache_Decorator
|
2010-09-09 03:14:17 +00:00
|
|
|
{
|
2015-01-02 06:18:27 +00:00
|
|
|
/**
|
|
|
|
* @type string
|
|
|
|
*/
|
2010-09-09 03:14:17 +00:00
|
|
|
public $name = 'Cleanup';
|
|
|
|
|
2015-01-02 06:18:27 +00:00
|
|
|
/**
|
|
|
|
* @return HTMLPurifier_DefinitionCache_Decorator_Cleanup
|
|
|
|
*/
|
|
|
|
public function copy()
|
|
|
|
{
|
2010-09-09 03:14:17 +00:00
|
|
|
return new HTMLPurifier_DefinitionCache_Decorator_Cleanup();
|
|
|
|
}
|
|
|
|
|
2015-01-02 06:18:27 +00:00
|
|
|
/**
|
|
|
|
* @param HTMLPurifier_Definition $def
|
|
|
|
* @param HTMLPurifier_Config $config
|
|
|
|
* @return mixed
|
|
|
|
*/
|
|
|
|
public function add($def, $config)
|
|
|
|
{
|
2010-09-09 03:14:17 +00:00
|
|
|
$status = parent::add($def, $config);
|
2015-01-02 06:18:27 +00:00
|
|
|
if (!$status) {
|
|
|
|
parent::cleanup($config);
|
|
|
|
}
|
2010-09-09 03:14:17 +00:00
|
|
|
return $status;
|
|
|
|
}
|
|
|
|
|
2015-01-02 06:18:27 +00:00
|
|
|
/**
|
|
|
|
* @param HTMLPurifier_Definition $def
|
|
|
|
* @param HTMLPurifier_Config $config
|
|
|
|
* @return mixed
|
|
|
|
*/
|
|
|
|
public function set($def, $config)
|
|
|
|
{
|
2010-09-09 03:14:17 +00:00
|
|
|
$status = parent::set($def, $config);
|
2015-01-02 06:18:27 +00:00
|
|
|
if (!$status) {
|
|
|
|
parent::cleanup($config);
|
|
|
|
}
|
2010-09-09 03:14:17 +00:00
|
|
|
return $status;
|
|
|
|
}
|
|
|
|
|
2015-01-02 06:18:27 +00:00
|
|
|
/**
|
|
|
|
* @param HTMLPurifier_Definition $def
|
|
|
|
* @param HTMLPurifier_Config $config
|
|
|
|
* @return mixed
|
|
|
|
*/
|
|
|
|
public function replace($def, $config)
|
|
|
|
{
|
2010-09-09 03:14:17 +00:00
|
|
|
$status = parent::replace($def, $config);
|
2015-01-02 06:18:27 +00:00
|
|
|
if (!$status) {
|
|
|
|
parent::cleanup($config);
|
|
|
|
}
|
2010-09-09 03:14:17 +00:00
|
|
|
return $status;
|
|
|
|
}
|
|
|
|
|
2015-01-02 06:18:27 +00:00
|
|
|
/**
|
|
|
|
* @param HTMLPurifier_Config $config
|
|
|
|
* @return mixed
|
|
|
|
*/
|
|
|
|
public function get($config)
|
|
|
|
{
|
2010-09-09 03:14:17 +00:00
|
|
|
$ret = parent::get($config);
|
2015-01-02 06:18:27 +00:00
|
|
|
if (!$ret) {
|
|
|
|
parent::cleanup($config);
|
|
|
|
}
|
2010-09-09 03:14:17 +00:00
|
|
|
return $ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// vim: et sw=4 sts=4
|