]> git.mxchange.org Git - friendica.git/blob - library/HTMLPurifier/ChildDef/Optional.php
Merge branch 'pull'
[friendica.git] / library / HTMLPurifier / ChildDef / Optional.php
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