]>
Commit | Line | Data |
---|---|---|
f45a286b AD |
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 HTMLPurifier_AttrDef objects that may process strings | |
17 | * @todo Make protected | |
18 | */ | |
19 | public $defs; | |
20 | ||
21 | /** | |
22 | * @param $defs List of HTMLPurifier_AttrDef objects | |
23 | */ | |
24 | public function __construct($defs) { | |
25 | $this->defs = $defs; | |
26 | } | |
27 | ||
28 | public function validate($string, $config, $context) { | |
29 | foreach ($this->defs as $i => $def) { | |
30 | $result = $this->defs[$i]->validate($string, $config, $context); | |
31 | if ($result !== false) return $result; | |
32 | } | |
33 | return false; | |
34 | } | |
35 | ||
36 | } | |
37 | ||
38 | // vim: et sw=4 sts=4 |