Rename trunk directory to public_html
[ldapsaisie.git] / public_html / includes / class / class.LSformRule_password.php
1 <?php
2 /*******************************************************************************
3  * Copyright (C) 2007 Easter-eggs
4  * http://ldapsaisie.labs.libre-entreprise.org
5  *
6  * Author: See AUTHORS file in top-level directory.
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License version 2
10  * as published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20
21 ******************************************************************************/
22
23 /**
24  * Règle de validation d'un mot de passe
25  *
26  * @author Benjamin Renard <brenard@easter-eggs.com>
27  */
28 class LSformRule_password extends LSformRule {
29  
30   /**
31    * Vérification de la valeur.
32    *
33    * @param string $values Valeur à vérifier
34    * @param array $options Options de validation
35    *                          - 'minLength' : la longueur maximale
36    *                          - 'maxLength' : la longueur minimale
37    *                          - 'prohibitedValues' : Un tableau de valeurs interdites
38    *                          - 'regex' : une ou plusieurs expressions régulières
39    *                                      devant matche
40    * @param object $formElement L'objet formElement attaché
41    *
42    * @return boolean true si la valeur est valide, false sinon
43    */ 
44   function validate ($value,$options=array(),$formElement) {
45     if(isset($options['params']['maxLength'])) {
46       if (strlen($value)>$options['params']['maxLength'])
47         return;
48     }
49     
50     if(isset($options['params']['minLength'])) {
51       if (strlen($value)<$options['params']['minLength'])
52         return;
53     }
54     
55     if(isset($options['params']['regex'])) {
56       if (!is_array($options['params']['regex'])) {
57         $options['params']['regex']=array($options['params']['regex']);
58       }
59       foreach($options['params']['regex'] as $regex) {
60         if (!ereg($regex,$value)) 
61           return;
62       }
63     }
64     
65     if(is_array($options['params']['prohibitedValues'])) {
66       if (in_array($value,$options['params']['prohibitedValues'])) 
67         return;
68     }
69     
70     return true;
71   }
72   
73 }
74
75 ?>