PATH:
home
/
lab2454c
/
vaultchip.com
/
vendor
/
ezyang
/
htmlpurifier
/
library
/
HTMLPurifier
/
AttrTransform
<?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
[-] TargetNoreferrer.php
[edit]
[-] Lang.php
[edit]
[-] ScriptRequired.php
[edit]
[-] Input.php
[edit]
[-] ImgRequired.php
[edit]
[+]
..
[-] Textarea.php
[edit]
[-] Border.php
[edit]
[-] BgColor.php
[edit]
[-] ImgSpace.php
[edit]
[-] BdoDir.php
[edit]
[-] Length.php
[edit]
[-] EnumToCSS.php
[edit]
[-] Name.php
[edit]
[-] TargetNoopener.php
[edit]
[-] NameSync.php
[edit]
[-] SafeEmbed.php
[edit]
[-] SafeObject.php
[edit]
[-] SafeParam.php
[edit]
[-] Background.php
[edit]
[-] TargetBlank.php
[edit]
[-] Nofollow.php
[edit]
[-] BoolToCSS.php
[edit]