%PDF- %PDF-
Direktori : /home/silvzytp/crm-dub-code/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ |
Current File : /home/silvzytp/crm-dub-code/vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php |
<?php /** * Performs miscellaneous cross attribute validation and filtering for * input elements. This is meant to be a post-transform. */ class HTMLPurifier_AttrTransform_Input extends HTMLPurifier_AttrTransform { /** * @type HTMLPurifier_AttrDef_HTML_Pixels */ protected $pixels; public function __construct() { $this->pixels = new HTMLPurifier_AttrDef_HTML_Pixels(); } /** * @param array $attr * @param HTMLPurifier_Config $config * @param HTMLPurifier_Context $context * @return array */ public function transform($attr, $config, $context) { if (!isset($attr['type'])) { $t = 'text'; } else { $t = strtolower($attr['type']); } if (isset($attr['checked']) && $t !== 'radio' && $t !== 'checkbox') { unset($attr['checked']); } if (isset($attr['maxlength']) && $t !== 'text' && $t !== 'password') { unset($attr['maxlength']); } if (isset($attr['size']) && $t !== 'text' && $t !== 'password') { $result = $this->pixels->validate($attr['size'], $config, $context); if ($result === false) { unset($attr['size']); } else { $attr['size'] = $result; } } if (isset($attr['src']) && $t !== 'image') { unset($attr['src']); } if (!isset($attr['value']) && ($t === 'radio' || $t === 'checkbox')) { $attr['value'] = ''; } return $attr; } } // vim: et sw=4 sts=4