mirror of
https://github.com/renbaoshuo/S2OJ.git
synced 2024-11-30 11:06:21 +00:00
96d4a3ecf7
Due to historical reasons, the code is in subfolder "1". With SVN removal, we place the code back and remove the annoying "1" folder.
46 lines
1.2 KiB
PHP
46 lines
1.2 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Definition that allows a set of elements, and allows no children.
|
|
* @note This is a hack to reuse code from HTMLPurifier_ChildDef_Required,
|
|
* really, one shouldn't inherit from the other. Only altered behavior
|
|
* is to overload a returned false with an array. Thus, it will never
|
|
* return false.
|
|
*/
|
|
class HTMLPurifier_ChildDef_Optional extends HTMLPurifier_ChildDef_Required
|
|
{
|
|
/**
|
|
* @type bool
|
|
*/
|
|
public $allow_empty = true;
|
|
|
|
/**
|
|
* @type string
|
|
*/
|
|
public $type = 'optional';
|
|
|
|
/**
|
|
* @param array $children
|
|
* @param HTMLPurifier_Config $config
|
|
* @param HTMLPurifier_Context $context
|
|
* @return array
|
|
*/
|
|
public function validateChildren($children, $config, $context)
|
|
{
|
|
$result = parent::validateChildren($children, $config, $context);
|
|
// we assume that $children is not modified
|
|
if ($result === false) {
|
|
if (empty($children)) {
|
|
return true;
|
|
} elseif ($this->whitespace) {
|
|
return $children;
|
|
} else {
|
|
return array();
|
|
}
|
|
}
|
|
return $result;
|
|
}
|
|
}
|
|
|
|
// vim: et sw=4 sts=4
|