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