| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 
							- <?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
 
 
  |