]> git.immae.eu Git - github/wallabag/wallabag.git/blame - inc/3rdparty/htmlpurifier/HTMLPurifier/AttrTransform/Input.php
remove autoload section in composer.json
[github/wallabag/wallabag.git] / inc / 3rdparty / htmlpurifier / HTMLPurifier / AttrTransform / Input.php
CommitLineData
d4949327
NL
1<?php\r
2\r
3/**\r
4 * Performs miscellaneous cross attribute validation and filtering for\r
5 * input elements. This is meant to be a post-transform.\r
6 */\r
7class HTMLPurifier_AttrTransform_Input extends HTMLPurifier_AttrTransform\r
8{\r
9 /**\r
10 * @type HTMLPurifier_AttrDef_HTML_Pixels\r
11 */\r
12 protected $pixels;\r
13\r
14 public function __construct()\r
15 {\r
16 $this->pixels = new HTMLPurifier_AttrDef_HTML_Pixels();\r
17 }\r
18\r
19 /**\r
20 * @param array $attr\r
21 * @param HTMLPurifier_Config $config\r
22 * @param HTMLPurifier_Context $context\r
23 * @return array\r
24 */\r
25 public function transform($attr, $config, $context)\r
26 {\r
27 if (!isset($attr['type'])) {\r
28 $t = 'text';\r
29 } else {\r
30 $t = strtolower($attr['type']);\r
31 }\r
32 if (isset($attr['checked']) && $t !== 'radio' && $t !== 'checkbox') {\r
33 unset($attr['checked']);\r
34 }\r
35 if (isset($attr['maxlength']) && $t !== 'text' && $t !== 'password') {\r
36 unset($attr['maxlength']);\r
37 }\r
38 if (isset($attr['size']) && $t !== 'text' && $t !== 'password') {\r
39 $result = $this->pixels->validate($attr['size'], $config, $context);\r
40 if ($result === false) {\r
41 unset($attr['size']);\r
42 } else {\r
43 $attr['size'] = $result;\r
44 }\r
45 }\r
46 if (isset($attr['src']) && $t !== 'image') {\r
47 unset($attr['src']);\r
48 }\r
49 if (!isset($attr['value']) && ($t === 'radio' || $t === 'checkbox')) {\r
50 $attr['value'] = '';\r
51 }\r
52 return $attr;\r
53 }\r
54}\r
55\r
56// vim: et sw=4 sts=4\r