48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | 
 | ||
|  | /** | ||
|  |  * Pre-transform that changes converts a boolean attribute to fixed CSS | ||
|  |  */ | ||
|  | class HTMLPurifier_AttrTransform_BoolToCSS extends HTMLPurifier_AttrTransform | ||
|  | { | ||
|  |     /** | ||
|  |      * Name of boolean attribute that is trigger. | ||
|  |      * @type string | ||
|  |      */ | ||
|  |     protected $attr; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * CSS declarations to add to style, needs trailing semicolon. | ||
|  |      * @type string | ||
|  |      */ | ||
|  |     protected $css; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @param string $attr attribute name to convert from | ||
|  |      * @param string $css CSS declarations to add to style (needs semicolon) | ||
|  |      */ | ||
|  |     public function __construct($attr, $css) | ||
|  |     { | ||
|  |         $this->attr = $attr; | ||
|  |         $this->css = $css; | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @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; | ||
|  |         } | ||
|  |         unset($attr[$this->attr]); | ||
|  |         $this->prependCSS($attr, $this->css); | ||
|  |         return $attr; | ||
|  |     } | ||
|  | } | ||
|  | 
 | ||
|  | // vim: et sw=4 sts=4
 |