[PLUGINS] +set de base
[lhc/web/www.git] / www / plugins / verifier / verifier / comparaison_champ.php
1 <?php
2
3 // Sécurité
4 if (!defined("_ECRIRE_INC_VERSION")) return;
5
6 /**
7 * Compare la valeur avec un autre champ du _request().
8 *
9 * @param string $valeur
10 * La valeur à vérifier.
11 * @param array $options
12 * Un éventuel tableau d'options.
13 * @return string
14 * Retourne une chaine vide si c'est valide, sinon une chaine expliquant l'erreur.
15 */
16 function verifier_comparaison_champ_dist($valeur, $options=array()){
17 include_spip('inc/filtres');
18
19 // On vérifie qu'on a bien un champ à comparer
20 if (!$champ = $options['champ'] or !is_scalar($champ)) return true;
21 else $valeur_champ = _request($champ);
22
23 // On cherche le nom du champ
24 $nom_champ = $options['nom_champ'] ? $options['nom_champ'] : $champ;
25
26 switch ($options['comparaison']){
27 case 'petit':
28 return $valeur < $valeur_champ ? '' : _T('verifier:erreur_comparaison_petit', array('nom_champ'=>$nom_champ));
29 break;
30 case 'petit_egal':
31 return $valeur <= $valeur_champ ? '' : _T('verifier:erreur_comparaison_petit_egal', array('nom_champ'=>$nom_champ));
32 break;
33 case 'grand':
34 return $valeur > $valeur_champ ? '' : _T('verifier:erreur_comparaison_grand', array('nom_champ'=>$nom_champ));
35 break;
36 case 'grand_egal':
37 return $valeur >= $valeur_champ ? '' : _T('verifier:erreur_comparaison_grand_egal', array('nom_champ'=>$nom_champ));
38 break;
39 case 'egal_type':
40 return $valeur === $valeur_champ ? '' : _T('verifier:erreur_comparaison_egal_type', array('nom_champ'=>$nom_champ));
41 break;
42 default:
43 return $valeur == $valeur_champ ? '' : _T('verifier:erreur_comparaison_egal', array('nom_champ'=>$nom_champ));
44 break;
45 }
46 }
47