mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-18 10:49:54 +09:00
HTMLPurifier update
약간 커스텀 된 부분 모두 반영. File lock 부분과 htmlspecialchars 부분.
This commit is contained in:
parent
ae7cbf51c0
commit
2957f8cebe
242 changed files with 11737 additions and 5915 deletions
|
|
@ -10,22 +10,27 @@
|
|||
*/
|
||||
abstract class HTMLPurifier_DefinitionCache
|
||||
{
|
||||
|
||||
/**
|
||||
* @type string
|
||||
*/
|
||||
public $type;
|
||||
|
||||
/**
|
||||
* @param $name Type of definition objects this instance of the
|
||||
* @param string $type Type of definition objects this instance of the
|
||||
* cache will handle.
|
||||
*/
|
||||
public function __construct($type) {
|
||||
public function __construct($type)
|
||||
{
|
||||
$this->type = $type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates a unique identifier for a particular configuration
|
||||
* @param Instance of HTMLPurifier_Config
|
||||
* @param HTMLPurifier_Config $config Instance of HTMLPurifier_Config
|
||||
* @return string
|
||||
*/
|
||||
public function generateKey($config) {
|
||||
public function generateKey($config)
|
||||
{
|
||||
return $config->version . ',' . // possibly replace with function calls
|
||||
$config->getBatchSerial($this->type) . ',' .
|
||||
$config->get($this->type . '.DefinitionRev');
|
||||
|
|
@ -34,30 +39,37 @@ abstract class HTMLPurifier_DefinitionCache
|
|||
/**
|
||||
* Tests whether or not a key is old with respect to the configuration's
|
||||
* version and revision number.
|
||||
* @param $key Key to test
|
||||
* @param $config Instance of HTMLPurifier_Config to test against
|
||||
* @param string $key Key to test
|
||||
* @param HTMLPurifier_Config $config Instance of HTMLPurifier_Config to test against
|
||||
* @return bool
|
||||
*/
|
||||
public function isOld($key, $config) {
|
||||
if (substr_count($key, ',') < 2) return true;
|
||||
public function isOld($key, $config)
|
||||
{
|
||||
if (substr_count($key, ',') < 2) {
|
||||
return true;
|
||||
}
|
||||
list($version, $hash, $revision) = explode(',', $key, 3);
|
||||
$compare = version_compare($version, $config->version);
|
||||
// version mismatch, is always old
|
||||
if ($compare != 0) return true;
|
||||
if ($compare != 0) {
|
||||
return true;
|
||||
}
|
||||
// versions match, ids match, check revision number
|
||||
if (
|
||||
$hash == $config->getBatchSerial($this->type) &&
|
||||
$revision < $config->get($this->type . '.DefinitionRev')
|
||||
) return true;
|
||||
if ($hash == $config->getBatchSerial($this->type) &&
|
||||
$revision < $config->get($this->type . '.DefinitionRev')) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if a definition's type jives with the cache's type
|
||||
* @note Throws an error on failure
|
||||
* @param $def Definition object to check
|
||||
* @return Boolean true if good, false if not
|
||||
* @param HTMLPurifier_Definition $def Definition object to check
|
||||
* @return bool true if good, false if not
|
||||
*/
|
||||
public function checkDefType($def) {
|
||||
public function checkDefType($def)
|
||||
{
|
||||
if ($def->type !== $this->type) {
|
||||
trigger_error("Cannot use definition of type {$def->type} in cache for {$this->type}");
|
||||
return false;
|
||||
|
|
@ -67,31 +79,40 @@ abstract class HTMLPurifier_DefinitionCache
|
|||
|
||||
/**
|
||||
* Adds a definition object to the cache
|
||||
* @param HTMLPurifier_Definition $def
|
||||
* @param HTMLPurifier_Config $config
|
||||
*/
|
||||
abstract public function add($def, $config);
|
||||
|
||||
/**
|
||||
* Unconditionally saves a definition object to the cache
|
||||
* @param HTMLPurifier_Definition $def
|
||||
* @param HTMLPurifier_Config $config
|
||||
*/
|
||||
abstract public function set($def, $config);
|
||||
|
||||
/**
|
||||
* Replace an object in the cache
|
||||
* @param HTMLPurifier_Definition $def
|
||||
* @param HTMLPurifier_Config $config
|
||||
*/
|
||||
abstract public function replace($def, $config);
|
||||
|
||||
/**
|
||||
* Retrieves a definition object from the cache
|
||||
* @param HTMLPurifier_Config $config
|
||||
*/
|
||||
abstract public function get($config);
|
||||
|
||||
/**
|
||||
* Removes a definition object to the cache
|
||||
* @param HTMLPurifier_Config $config
|
||||
*/
|
||||
abstract public function remove($config);
|
||||
|
||||
/**
|
||||
* Clears all objects from cache
|
||||
* @param HTMLPurifier_Config $config
|
||||
*/
|
||||
abstract public function flush($config);
|
||||
|
||||
|
|
@ -100,9 +121,9 @@ abstract class HTMLPurifier_DefinitionCache
|
|||
* @note Be carefuly implementing this method as flush. Flush must
|
||||
* not interfere with other Definition types, and cleanup()
|
||||
* should not be repeatedly called by userland code.
|
||||
* @param HTMLPurifier_Config $config
|
||||
*/
|
||||
abstract public function cleanup($config);
|
||||
|
||||
}
|
||||
|
||||
// vim: et sw=4 sts=4
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue