%PDF- %PDF-
Direktori : /home/silvzytp/calling_code/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ |
Current File : //home/silvzytp/calling_code/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php |
<?php /** * Generic pre-transform that converts an attribute with a fixed number of * values (enumerated) to CSS. */ class HTMLPurifier_AttrTransform_EnumToCSS extends HTMLPurifier_AttrTransform { /** * Name of attribute to transform from. * @type string */ protected $attr; /** * Lookup array of attribute values to CSS. * @type array */ protected $enumToCSS = array(); /** * Case sensitivity of the matching. * @type bool * @warning Currently can only be guaranteed to work with ASCII * values. */ protected $caseSensitive = false; /** * @param string $attr Attribute name to transform from * @param array $enum_to_css Lookup array of attribute values to CSS * @param bool $case_sensitive Case sensitivity indicator, default false */ public function __construct($attr, $enum_to_css, $case_sensitive = false) { $this->attr = $attr; $this->enumToCSS = $enum_to_css; $this->caseSensitive = (bool)$case_sensitive; } /** * @param array $attr * @param HTMLPurifier_Config $config * @param HTMLPurifier_Context $context * @return array */ public function transform($attr, $config, $context) { if (!isset($attr[$this->attr])) { return $attr; } $value = trim($attr[$this->attr]); unset($attr[$this->attr]); if (!$this->caseSensitive) { $value = strtolower($value); } if (!isset($this->enumToCSS[$value])) { return $attr; } $this->prependCSS($attr, $this->enumToCSS[$value]); return $attr; } } // vim: et sw=4 sts=4