1: | <?php
|
2: |
|
3: | |
4: | |
5: |
|
6: | class HTMLPurifier_AttrTransform_ImgSpace extends HTMLPurifier_AttrTransform
|
7: | {
|
8: | |
9: | |
10: |
|
11: | protected $attr;
|
12: |
|
13: | |
14: | |
15: |
|
16: | protected $css = array(
|
17: | 'hspace' => array('left', 'right'),
|
18: | 'vspace' => array('top', 'bottom')
|
19: | );
|
20: |
|
21: | |
22: | |
23: |
|
24: | public function __construct($attr)
|
25: | {
|
26: | $this->attr = $attr;
|
27: | if (!isset($this->css[$attr])) {
|
28: | trigger_error(htmlspecialchars($attr) . ' is not valid space attribute');
|
29: | }
|
30: | }
|
31: |
|
32: | |
33: | |
34: | |
35: | |
36: | |
37: |
|
38: | public function transform($attr, $config, $context)
|
39: | {
|
40: | if (!isset($attr[$this->attr])) {
|
41: | return $attr;
|
42: | }
|
43: |
|
44: | $width = $this->confiscateAttr($attr, $this->attr);
|
45: |
|
46: |
|
47: | if (!isset($this->css[$this->attr])) {
|
48: | return $attr;
|
49: | }
|
50: |
|
51: | $style = '';
|
52: | foreach ($this->css[$this->attr] as $suffix) {
|
53: | $property = "margin-$suffix";
|
54: | $style .= "$property:{$width}px;";
|
55: | }
|
56: | $this->prependCSS($attr, $style);
|
57: | return $attr;
|
58: | }
|
59: | }
|
60: |
|
61: |
|
62: | |