You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.3 KiB
48 lines
1.3 KiB
<?php |
|
|
|
/** |
|
* Allows multiple validators to attempt to validate attribute. |
|
* |
|
* Composite is just what it sounds like: a composite of many validators. |
|
* This means that multiple HTMLPurifier_AttrDef objects will have a whack |
|
* at the string. If one of them passes, that's what is returned. This is |
|
* especially useful for CSS values, which often are a choice between |
|
* an enumerated set of predefined values or a flexible data type. |
|
*/ |
|
class HTMLPurifier_AttrDef_CSS_Composite extends HTMLPurifier_AttrDef |
|
{ |
|
|
|
/** |
|
* List of objects that may process strings. |
|
* @type HTMLPurifier_AttrDef[] |
|
* @todo Make protected |
|
*/ |
|
public $defs; |
|
|
|
/** |
|
* @param HTMLPurifier_AttrDef[] $defs List of HTMLPurifier_AttrDef objects |
|
*/ |
|
public function __construct($defs) |
|
{ |
|
$this->defs = $defs; |
|
} |
|
|
|
/** |
|
* @param string $string |
|
* @param HTMLPurifier_Config $config |
|
* @param HTMLPurifier_Context $context |
|
* @return bool|string |
|
*/ |
|
public function validate($string, $config, $context) |
|
{ |
|
foreach ($this->defs as $i => $def) { |
|
$result = $this->defs[$i]->validate($string, $config, $context); |
|
if ($result !== false) { |
|
return $result; |
|
} |
|
} |
|
return false; |
|
} |
|
} |
|
|
|
// vim: et sw=4 sts=4
|
|
|