HTMLPurifier 4.4.0
/home/ezyang/Dev/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php
Go to the documentation of this file.
00001 <?php
00002 
00007 class HTMLPurifier_AttrTransform_EnumToCSS extends HTMLPurifier_AttrTransform {
00008 
00012     protected $attr;
00013 
00017     protected $enumToCSS = array();
00018 
00024     protected $caseSensitive = false;
00025 
00031     public function __construct($attr, $enum_to_css, $case_sensitive = false) {
00032         $this->attr = $attr;
00033         $this->enumToCSS = $enum_to_css;
00034         $this->caseSensitive = (bool) $case_sensitive;
00035     }
00036 
00037     public function transform($attr, $config, $context) {
00038 
00039         if (!isset($attr[$this->attr])) return $attr;
00040 
00041         $value = trim($attr[$this->attr]);
00042         unset($attr[$this->attr]);
00043 
00044         if (!$this->caseSensitive) $value = strtolower($value);
00045 
00046         if (!isset($this->enumToCSS[$value])) {
00047             return $attr;
00048         }
00049 
00050         $this->prependCSS($attr, $this->enumToCSS[$value]);
00051 
00052         return $attr;
00053 
00054     }
00055 
00056 }
00057 
00058 // vim: et sw=4 sts=4