source: spip-zone/_plugins_/verifier/verifier/taille.php @ 61369

Last change on this file since 61369 was 61369, checked in by rastapopoulos@…, 9 years ago

En fait SPIP a une fonction super pour ça.
+ affichage de la taille actuelle quand il y a une erreur (pour savoir rapidement quoi corriger)

File size: 1.3 KB
Line 
1<?php
2
3// Sécurité
4if (!defined("_ECRIRE_INC_VERSION")) return;
5
6/**
7 * Vérifier une taille minimale/maximale, pour un mot de passe par exemple
8 *
9 * @param string $valeur
10 *   La valeur à vérifier.
11 * @param array $options
12 *   Les éléments à vérifier (min, max, egal).
13 * @return string
14 *   Retourne une chaine vide si c'est valide, sinon une chaine expliquant l'erreur.
15 */
16
17function verifier_taille_dist($valeur, $options=array()){
18        $ok = true;
19        if (!is_string($valeur))
20                return _T('erreur_inconnue_generique');
21       
22        include_spip('inc/charsets');
23        $erreur = '';
24        $taille = spip_strlen($valeur);
25        var_dump($taille);
26       
27        if (isset($options['min']))
28                $ok = ($ok and ($taille >= $options['min']));
29       
30        if (isset($options['max'])){
31                $ok = ($ok and ($taille <= $options['max']));
32        }
33        if (isset($options['egal'])){
34                $ok = ($ok and ($taille == $options['egal']));
35        }
36       
37        if (!$ok){
38                // On ajoute la taille actuelle aux valeurs de remplacement
39                $options['nb'] = $taille;
40                if (isset($options['min']) and isset($options['max']))
41                        $erreur = _T('verifier:erreur_taille_entre', $options);
42                elseif (isset($options['max']))
43                        $erreur = _T('verifier:erreur_taille_max', $options);
44                elseif (isset($options['egal']))
45                        $erreur = _T('verifier:erreur_taille_egal', $options);
46                else
47                        $erreur = _T('verifier:erreur_taille_min', $options);
48        }
49       
50        return $erreur;
51}
Note: See TracBrowser for help on using the repository browser.