*/ class LSformRule_mimetype extends LSformRule { // CLI parameters autocompleters protected static $cli_params_autocompleters = array( 'mimeType' => null, 'mimeTypeRegEx' => null, ); /** * 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 */ public static function validate($value, $options=array(), &$formElement) { $file = LSsession :: getTmpFile($value); $real_mimetype = mime_content_type($file); $mimetypes = ensureIsArray(LSconfig :: get('params.mimeType', null, null, $options)); if ($mimetypes && !in_array($real_mimetype, $mimetypes)) throw new LSformRuleException(getFData(_('Invalid file type (%{type}).'), $real_mimetype)); $mimeTypeRegEx = LSconfig :: get('params.mimeTypeRegEx', null, 'string', $options); if (is_string($mimeTypeRegEx) && !preg_match($mimeTypeRegEx, $real_mimetype)) throw new LSformRuleException(getFData(_('Invalid file type (%{type}).'), $real_mimetype)); return true; } }