]> git.immae.eu Git - github/wallabag/wallabag.git/blame - inc/3rdparty/htmlpurifier/HTMLPurifier/AttrDef/CSS/Percentage.php
remove autoload section in composer.json
[github/wallabag/wallabag.git] / inc / 3rdparty / htmlpurifier / HTMLPurifier / AttrDef / CSS / Percentage.php
CommitLineData
d4949327
NL
1<?php\r
2\r
3/**\r
4 * Validates a Percentage as defined by the CSS spec.\r
5 */\r
6class HTMLPurifier_AttrDef_CSS_Percentage extends HTMLPurifier_AttrDef\r
7{\r
8\r
9 /**\r
10 * Instance to defer number validation to.\r
11 * @type HTMLPurifier_AttrDef_CSS_Number\r
12 */\r
13 protected $number_def;\r
14\r
15 /**\r
16 * @param bool $non_negative Whether to forbid negative values\r
17 */\r
18 public function __construct($non_negative = false)\r
19 {\r
20 $this->number_def = new HTMLPurifier_AttrDef_CSS_Number($non_negative);\r
21 }\r
22\r
23 /**\r
24 * @param string $string\r
25 * @param HTMLPurifier_Config $config\r
26 * @param HTMLPurifier_Context $context\r
27 * @return bool|string\r
28 */\r
29 public function validate($string, $config, $context)\r
30 {\r
31 $string = $this->parseCDATA($string);\r
32\r
33 if ($string === '') {\r
34 return false;\r
35 }\r
36 $length = strlen($string);\r
37 if ($length === 1) {\r
38 return false;\r
39 }\r
40 if ($string[$length - 1] !== '%') {\r
41 return false;\r
42 }\r
43\r
44 $number = substr($string, 0, $length - 1);\r
45 $number = $this->number_def->validate($number, $config, $context);\r
46\r
47 if ($number === false) {\r
48 return false;\r
49 }\r
50 return "$number%";\r
51 }\r
52}\r
53\r
54// vim: et sw=4 sts=4\r