[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * Pre-transform that changes deprecated hspace and vspace attributes to CSS 5 */ 6 class HTMLPurifier_AttrTransform_ImgSpace extends HTMLPurifier_AttrTransform 7 { 8 /** 9 * @type string 10 */ 11 protected $attr; 12 13 /** 14 * @type array 15 */ 16 protected $css = array( 17 'hspace' => array('left', 'right'), 18 'vspace' => array('top', 'bottom') 19 ); 20 21 /** 22 * @param string $attr 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 * @param array $attr 34 * @param HTMLPurifier_Config $config 35 * @param HTMLPurifier_Context $context 36 * @return array 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 // some validation could happen here 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 // vim: et sw=4 sts=4
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |