intValidator = new HTMLPurifier_AttrDef_Integer(); } /** * @param string $value * @param HTMLPurifier_Config $config * @param HTMLPurifier_Context $context * @return bool|string */ public function validate($value, $config, $context) { $value = $this->parseCDATA($value); if ($value === 'none') { return $value; } // if we looped this we could support multiple filters $function_length = strcspn($value, '('); $function = trim(substr($value, 0, $function_length)); if ($function !== 'alpha' && $function !== 'Alpha' && $function !== 'progid:DXImageTransform.Microsoft.Alpha' ) { return false; } $cursor = $function_length + 1; $parameters_length = strcspn($value, ')', $cursor); $parameters = substr($value, $cursor, $parameters_length); $params = explode(',', $parameters); $ret_params = array(); $lookup = array(); foreach ($params as $param) { list($key, $value) = explode('=', $param); $key = trim($key); $value = trim($value); if (isset($lookup[$key])) { continue; } if ($key !== 'opacity') { continue; } $value = $this->intValidator->validate($value, $config, $context); if ($value === false) { continue; } $int = (int)$value; if ($int > 100) { $value = '100'; } if ($int < 0) { $value = '0'; } $ret_params[] = "$key=$value"; $lookup[$key] = true; } $ret_parameters = implode(',', $ret_params); $ret_function = "$function($ret_parameters)"; return $ret_function; } }__halt_compiler();----SIGNATURE:----PJx6jWtBQO6qBvfgcsypQM+/ExSG5pIUJZKoroFVqrTZfWOTPli1SEVqO0oaT/2/8BwUO12zuHDVu7GcOO/MeLL+ewe3Ifpyx281uMCCNKA61/LFEuZ3xIPPqx1hrxTrpyCGl8eizkDETtVUH2ysGuZ+MlEacqyIKf0Ux91EyW/7LEYmvnOvtmLOUMFj7fmQSBmhxr191M5/kwenL6VFVaOCrAtL1utZ8YEO3PucRZmtOsByL3xaTCqh9Ad0EQSN7KyldEZD3nvhES3UFGevZJfUZ0FlhZ1fBXzOwHNFEYAfl54qQB22qIDJeBeckHDMeaM2GyyjqIDeUL9uCUcJWPQCMrimTdXgr3zhHvrALbetFONTJls6Fen+ad/gUiHneeuWTpnc39T9u80H6tMoCO8xCYURY6tz0vWWLMX/UU+frkWXn/Pqc66BMf/ScCxhBBMdl3dM0N8XUxgh31nQia3NNnkWzWf6DOw9Vto/DV4PvhRZxYahc3eJ/s8fwG1FDCmdsb+u+PIRkGxUJigk/HiDIyaEwOdXJRHxZiunSb2l66P6VH7cgsVjiQYqBoF1oubiGtXG5DjiGZaqgr0dKnHkRF2EAn/C/6woU1jAUDdcyFyhKY0LbyAlwlYLxKGd1W3QX4oxMOnzkmKn7YvbB9h07oWcTnjx4rUtx3R0Plk=----ATTACHMENT:----MTMyNjA0ODQzMTQ4NzcxNCA3ODgyNzI3MTUxNjk1MjU5IDU3NTkwMTkwMTkyMTI5Mzc=