diff options
Diffstat (limited to 'inc/3rdparty/htmlpurifier/HTMLPurifier/AttrDef/CSS/Composite.php')
-rw-r--r-- | inc/3rdparty/htmlpurifier/HTMLPurifier/AttrDef/CSS/Composite.php | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/inc/3rdparty/htmlpurifier/HTMLPurifier/AttrDef/CSS/Composite.php b/inc/3rdparty/htmlpurifier/HTMLPurifier/AttrDef/CSS/Composite.php new file mode 100644 index 00000000..38900232 --- /dev/null +++ b/inc/3rdparty/htmlpurifier/HTMLPurifier/AttrDef/CSS/Composite.php | |||
@@ -0,0 +1,48 @@ | |||
1 | <?php | ||
2 | |||
3 | /** | ||
4 | * Allows multiple validators to attempt to validate attribute. | ||
5 | * | ||
6 | * Composite is just what it sounds like: a composite of many validators. | ||
7 | * This means that multiple HTMLPurifier_AttrDef objects will have a whack | ||
8 | * at the string. If one of them passes, that's what is returned. This is | ||
9 | * especially useful for CSS values, which often are a choice between | ||
10 | * an enumerated set of predefined values or a flexible data type. | ||
11 | */ | ||
12 | class HTMLPurifier_AttrDef_CSS_Composite extends HTMLPurifier_AttrDef | ||
13 | { | ||
14 | |||
15 | /** | ||
16 | * List of objects that may process strings. | ||
17 | * @type HTMLPurifier_AttrDef[] | ||
18 | * @todo Make protected | ||
19 | */ | ||
20 | public $defs; | ||
21 | |||
22 | /** | ||
23 | * @param HTMLPurifier_AttrDef[] $defs List of HTMLPurifier_AttrDef objects | ||
24 | */ | ||
25 | public function __construct($defs) | ||
26 | { | ||
27 | $this->defs = $defs; | ||
28 | } | ||
29 | |||
30 | /** | ||
31 | * @param string $string | ||
32 | * @param HTMLPurifier_Config $config | ||
33 | * @param HTMLPurifier_Context $context | ||
34 | * @return bool|string | ||
35 | */ | ||
36 | public function validate($string, $config, $context) | ||
37 | { | ||
38 | foreach ($this->defs as $i => $def) { | ||
39 | $result = $this->defs[$i]->validate($string, $config, $context); | ||
40 | if ($result !== false) { | ||
41 | return $result; | ||
42 | } | ||
43 | } | ||
44 | return false; | ||
45 | } | ||
46 | } | ||
47 | |||
48 | // vim: et sw=4 sts=4 | ||