Source for file Background.php
Documentation is available at Background.php
* Validates shorthand CSS property background.
* @warning Does not support url tokens that have internal spaces.
* Local copy of component validators.
* @note See HTMLPurifier_AttrDef_Font::$info for a similar impl.
$def =
$config->getCSSDefinition();
$this->info['background-color'] =
$def->info['background-color'];
$this->info['background-image'] =
$def->info['background-image'];
$this->info['background-repeat'] =
$def->info['background-repeat'];
$this->info['background-attachment'] =
$def->info['background-attachment'];
$this->info['background-position'] =
$def->info['background-position'];
public function validate($string, $config, $context) {
// regular pre-processing
if ($string ===
'') return false;
// munge rgb() decl if necessary
// assumes URI doesn't have spaces in it
$caught['color'] =
false;
$caught['image'] =
false;
$caught['repeat'] =
false;
$caught['attachment'] =
false;
$caught['position'] =
false;
$i =
0; // number of catches
foreach ($bits as $bit) {
if ($bit ===
'') continue;
foreach ($caught as $key =>
$status) {
if ($key !=
'position') {
if ($status !==
false) continue;
$r =
$this->info['background-' .
$key]->validate($bit, $config, $context);
if ($r ===
false) continue;
if ($key ==
'position') {
if ($caught[$key] ===
false) $caught[$key] =
'';
$caught[$key] .=
$r .
' ';
if ($caught['position'] !==
false) {
$caught['position'] =
$this->info['background-position']->
validate($caught['position'], $config, $context);
foreach ($caught as $value) {
if ($value ===
false) continue;
if (empty($ret)) return false;
Documentation generated on Thu, 19 Jun 2008 18:48:52 -0400 by phpDocumentor 1.4.2