]>
Commit | Line | Data |
---|---|---|
f45a286b AD |
1 | <?php |
2 | ||
3 | /** | |
4 | * Definition that allows a set of elements, and allows no children. | |
5 | * @note This is a hack to reuse code from HTMLPurifier_ChildDef_Required, | |
6 | * really, one shouldn't inherit from the other. Only altered behavior | |
7 | * is to overload a returned false with an array. Thus, it will never | |
8 | * return false. | |
9 | */ | |
10 | class HTMLPurifier_ChildDef_Optional extends HTMLPurifier_ChildDef_Required | |
11 | { | |
12 | public $allow_empty = true; | |
13 | public $type = 'optional'; | |
14 | public function validateChildren($tokens_of_children, $config, $context) { | |
15 | $result = parent::validateChildren($tokens_of_children, $config, $context); | |
16 | // we assume that $tokens_of_children is not modified | |
17 | if ($result === false) { | |
18 | if (empty($tokens_of_children)) return true; | |
19 | elseif ($this->whitespace) return $tokens_of_children; | |
20 | else return array(); | |
21 | } | |
22 | return $result; | |
23 | } | |
24 | } | |
25 | ||
26 | // vim: et sw=4 sts=4 |