Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 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
    /**
13
     * @type bool
14
     */
15
    public $allow_empty = true;
16
 
17
    /**
18
     * @type string
19
     */
20
    public $type = 'optional';
21
 
22
    /**
23
     * @param array $children
24
     * @param HTMLPurifier_Config $config
25
     * @param HTMLPurifier_Context $context
26
     * @return array
27
     */
28
    public function validateChildren($children, $config, $context)
29
    {
30
        $result = parent::validateChildren($children, $config, $context);
31
        // we assume that $children is not modified
32
        if ($result === false) {
33
            if (empty($children)) {
34
                return true;
35
            } elseif ($this->whitespace) {
36
                return $children;
37
            } else {
38
                return array();
39
            }
40
        }
41
        return $result;
42
    }
43
}
44
 
45
// vim: et sw=4 sts=4