diff --git a/trunk/includes/class/class.LSformRule_mimetype.php b/trunk/includes/class/class.LSformRule_mimetype.php new file mode 100644 index 00000000..4fbc8ac0 --- /dev/null +++ b/trunk/includes/class/class.LSformRule_mimetype.php @@ -0,0 +1,70 @@ + + */ +class LSformRule_mimetype extends LSformRule { + + /** + * Vérification de la valeur. + * + * @param string $values Valeur à vérifier + * @param array $options Options de validation : + * - Type MIME : $options['params']['mimeType'] + * - Type MIME (regex) : $options['params']['mimeTypeRegEx'] + * @param object $formElement L'objet formElement attaché + * + * @return boolean true si la valeur est valide, false sinon + */ + function validate ($value,$options,$formElement) { + $file = LSsession :: getTmpFile($value); + + $mimetype = mime_content_type($file); + + if (isset($options['params']['mimeType'])) { + if (is_array($options['params']['mimeType'])) { + if (!in_array($mimetype,$options['params']['mimeType'])) { + return; + } + } + else { + if ($mimetype != $options['params']['mimeType']) { + return; + } + } + } + + if (isset($options['params']['mimeTypeRegEx'])) { + if (!preg_match($options['params']['mimeTypeRegEx'], $mimetype)) { + return false; + } + } + + return true; + } + +} + +?>