|
Revision 21, 1.1 kB
(checked in by admin, 18 years ago)
|
|
|
| Line | |
|---|
| 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 | |
|---|