Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
 
3
/**
4
 * Validates the value for the CSS property text-decoration
5
 * @note This class could be generalized into a version that acts sort of
6
 *       like Enum except you can compound the allowed values.
7
 */
8
class HTMLPurifier_AttrDef_CSS_TextDecoration extends HTMLPurifier_AttrDef
9
{
10
 
11
    /**
12
     * @param string $string
13
     * @param HTMLPurifier_Config $config
14
     * @param HTMLPurifier_Context $context
15
     * @return bool|string
16
     */
17
    public function validate($string, $config, $context)
18
    {
19
        static $allowed_values = array(
20
            'line-through' => true,
21
            'overline' => true,
22
            'underline' => true,
23
        );
24
 
25
        $string = strtolower($this->parseCDATA($string));
26
 
27
        if ($string === 'none') {
28
            return $string;
29
        }
30
 
31
        $parts = explode(' ', $string);
32
        $final = '';
33
        foreach ($parts as $part) {
34
            if (isset($allowed_values[$part])) {
35
                $final .= $part . ' ';
36
            }
37
        }
38
        $final = rtrim($final);
39
        if ($final === '') {
40
            return false;
41
        }
42
        return $final;
43
    }
44
}
45
 
46
// vim: et sw=4 sts=4