diff options
Diffstat (limited to 'lib/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php')
-rw-r--r-- | lib/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php b/lib/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php new file mode 100644 index 000000000..292c040d4 --- /dev/null +++ b/lib/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php @@ -0,0 +1,21 @@ +<?php + +class HTMLPurifier_AttrDef_CSS_AlphaValue extends HTMLPurifier_AttrDef_CSS_Number +{ + + public function __construct() { + parent::__construct(false); // opacity is non-negative, but we will clamp it + } + + public function validate($number, $config, $context) { + $result = parent::validate($number, $config, $context); + if ($result === false) return $result; + $float = (float) $result; + if ($float < 0.0) $result = '0'; + if ($float > 1.0) $result = '1'; + return $result; + } + +} + +// vim: et sw=4 sts=4 |