f25cd01955f85a5d3851016f8a35d569a7bb3459
[yaffs-website] / vendor / ezyang / htmlpurifier / library / HTMLPurifier / AttrTransform / BoolToCSS.php
1 <?php
2
3 /**
4  * Pre-transform that changes converts a boolean attribute to fixed CSS
5  */
6 class HTMLPurifier_AttrTransform_BoolToCSS extends HTMLPurifier_AttrTransform
7 {
8     /**
9      * Name of boolean attribute that is trigger.
10      * @type string
11      */
12     protected $attr;
13
14     /**
15      * CSS declarations to add to style, needs trailing semicolon.
16      * @type string
17      */
18     protected $css;
19
20     /**
21      * @param string $attr attribute name to convert from
22      * @param string $css CSS declarations to add to style (needs semicolon)
23      */
24     public function __construct($attr, $css)
25     {
26         $this->attr = $attr;
27         $this->css = $css;
28     }
29
30     /**
31      * @param array $attr
32      * @param HTMLPurifier_Config $config
33      * @param HTMLPurifier_Context $context
34      * @return array
35      */
36     public function transform($attr, $config, $context)
37     {
38         if (!isset($attr[$this->attr])) {
39             return $attr;
40         }
41         unset($attr[$this->attr]);
42         $this->prependCSS($attr, $this->css);
43         return $attr;
44     }
45 }
46
47 // vim: et sw=4 sts=4