Source of file Input.php
Size: 1,291 Bytes - Last Modified: 2021-12-23T10:07:55+00:00
/var/www/docs.ssmods.com/process/src/thirdparty/htmlpurifier-4.0.0-lite/library/HTMLPurifier/AttrTransform/Input.php
1234567891011121314151617181920212223242526272829303132333435363738394041 | <?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 { protected $pixels; public function __construct() { $this->pixels = new HTMLPurifier_AttrDef_HTML_Pixels(); } 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 |