| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- <?php
 
- /**
 
-  * Validates a MultiLength as defined by the HTML spec.
 
-  *
 
-  * A multilength is either a integer (pixel count), a percentage, or
 
-  * a relative number.
 
-  */
 
- class HTMLPurifier_AttrDef_HTML_MultiLength extends HTMLPurifier_AttrDef_HTML_Length
 
- {
 
-     /**
 
-      * @param string $string
 
-      * @param HTMLPurifier_Config $config
 
-      * @param HTMLPurifier_Context $context
 
-      * @return bool|string
 
-      */
 
-     public function validate($string, $config, $context)
 
-     {
 
-         $string = trim($string);
 
-         if ($string === '') {
 
-             return false;
 
-         }
 
-         $parent_result = parent::validate($string, $config, $context);
 
-         if ($parent_result !== false) {
 
-             return $parent_result;
 
-         }
 
-         $length = strlen($string);
 
-         $last_char = $string[$length - 1];
 
-         if ($last_char !== '*') {
 
-             return false;
 
-         }
 
-         $int = substr($string, 0, $length - 1);
 
-         if ($int == '') {
 
-             return '*';
 
-         }
 
-         if (!is_numeric($int)) {
 
-             return false;
 
-         }
 
-         $int = (int)$int;
 
-         if ($int < 0) {
 
-             return false;
 
-         }
 
-         if ($int == 0) {
 
-             return '0';
 
-         }
 
-         if ($int == 1) {
 
-             return '*';
 
-         }
 
-         return ((string)$int) . '*';
 
-     }
 
- }
 
- // vim: et sw=4 sts=4
 
 
  |