1: <?php
2:
3: /**
4: * Class for handling width/height length attribute transformations to CSS
5: */
6: class HTMLPurifier_AttrTransform_Length extends HTMLPurifier_AttrTransform
7: {
8:
9: /**
10: * @type string
11: */
12: protected $name;
13:
14: /**
15: * @type string
16: */
17: protected $cssName;
18:
19: public function __construct($name, $css_name = null)
20: {
21: $this->name = $name;
22: $this->cssName = $css_name ? $css_name : $name;
23: }
24:
25: /**
26: * @param array $attr
27: * @param HTMLPurifier_Config $config
28: * @param HTMLPurifier_Context $context
29: * @return array
30: */
31: public function transform($attr, $config, $context)
32: {
33: if (!isset($attr[$this->name])) {
34: return $attr;
35: }
36: $length = $this->confiscateAttr($attr, $this->name);
37: if (ctype_digit($length)) {
38: $length .= 'px';
39: }
40: $this->prependCSS($attr, $this->cssName . ":$length;");
41: return $attr;
42: }
43: }
44:
45: // vim: et sw=4 sts=4
46: