1 |
fraynaud |
3 |
<?php |
2 |
|
|
//$Id$ |
3 |
|
|
//gen openMairie le 15/10/2010 15:55 |
4 |
|
|
require_once ("../gen/obj/om_utilisateur.class.php"); |
5 |
|
|
|
6 |
|
|
class om_utilisateur extends om_utilisateur_gen { |
7 |
|
|
|
8 |
|
|
function om_utilisateur($id,&$db,$debug) { |
9 |
|
|
$this->constructeur($id,$db,$debug); |
10 |
|
|
}// fin constructeur |
11 |
|
|
|
12 |
|
|
/** |
13 |
|
|
* Cette methode permet de remplir le tableau associatif valF attribut de |
14 |
|
|
* l'objet en vue de l'insertion des donnees dans la base. |
15 |
|
|
* |
16 |
|
|
* @param array $val Tableau associatif representant les valeurs du |
17 |
|
|
* formulaire |
18 |
|
|
* |
19 |
|
|
* @return void |
20 |
|
|
*/ |
21 |
|
|
|
22 |
|
|
function setvalF($val) { |
23 |
|
|
// version utilisateur.class liee a setVal et setValFormulaire |
24 |
|
|
parent::setvalF($val); |
25 |
|
|
if ($val['pwd']!="*****") |
26 |
|
|
$this->valF['pwd'] = md5($val['pwd']); |
27 |
|
|
else |
28 |
|
|
unset ($this->valF['pwd']); |
29 |
|
|
/* version openelec |
30 |
|
|
if ($val['pwd'] == "") |
31 |
|
|
$this->valF['pwd'] = ""; |
32 |
|
|
elseif ($val['pwd'] == $this->val[3]) |
33 |
|
|
$this->valF['pwd'] = $this->val[3]; |
34 |
|
|
else |
35 |
|
|
$this->valF['pwd'] = md5 ($val['pwd']); |
36 |
|
|
*/ |
37 |
|
|
} |
38 |
|
|
|
39 |
|
|
/** |
40 |
|
|
* Cette methode est appelee lors de l'ajout d'un objet, elle permet |
41 |
|
|
* d'effectuer des tests d'integrite sur la cle primaire pour verifier |
42 |
|
|
* si la cle a bien ete saisie dans le formulaire et si l'objet ajoute |
43 |
|
|
* n'existe pas deja dans la table pour en empecher l'ajout. |
44 |
|
|
* |
45 |
|
|
* @param array $val Tableau associatif representant les valeurs du |
46 |
|
|
* formulaire |
47 |
|
|
* @param object $db Objet Base de donnees |
48 |
|
|
* |
49 |
|
|
* @return void |
50 |
|
|
*/ |
51 |
|
|
function verifierAjout($val, &$db) { |
52 |
|
|
// Si le login est vide alors on rejette l'enregistrement |
53 |
|
|
if (trim($this->valF["login"]) == "") { |
54 |
|
|
$this->correct = false; |
55 |
|
|
$this->msg .= $this->form->lib["login"]; |
56 |
|
|
$this->msg .= _(" est obligatoire")."<br />"; |
57 |
|
|
} |
58 |
|
|
// Si le test precedent a ete reussi alors on teste si le login |
59 |
|
|
// n'existe pas deja dans la table |
60 |
|
|
if ($this->correct == true) { |
61 |
|
|
// Construction de la requete |
62 |
|
|
$sql = "select count(*) from ".$this->table." "; |
63 |
|
|
$sql .= "where login='".$val["login"]."'"; |
64 |
|
|
// Execution de la requete |
65 |
|
|
$nb = $db->getone($sql); |
66 |
|
|
if (database::isError($nb)) { |
67 |
|
|
// Appel de la methode qui gere les erreurs |
68 |
|
|
$this->erreur_db($res->getDebugInfo(), $res->getMessage(), ''); |
69 |
|
|
} else { |
70 |
|
|
// Si le resultat de la requete renvoit un ou plusieurs |
71 |
|
|
// enregistrements |
72 |
|
|
if ($nb > 0) { |
73 |
|
|
// On rejette l'enregistrement |
74 |
|
|
$this->correct = false; |
75 |
|
|
$this->msg .= _("Il existe deja un enregistrement avec cet identifiant, vous devez en choisir un autre")."<br />"; |
76 |
|
|
} |
77 |
|
|
} |
78 |
|
|
} |
79 |
|
|
} |
80 |
|
|
|
81 |
|
|
/** |
82 |
|
|
* Cette methode est appelee lors de l'ajout ou de la modification d'un |
83 |
|
|
* objet, elle permet d'effectuer des tests d'integrite sur les valeurs |
84 |
|
|
* saisies dans le formulaire pour en empecher l'enregistrement. |
85 |
|
|
* |
86 |
|
|
* @return void |
87 |
|
|
*/ |
88 |
|
|
function verifier($val,&$db,$DEBUG) { |
89 |
|
|
// Initialisation de l'attribut correct a true |
90 |
|
|
$this->correct = true; |
91 |
|
|
// Si la valeur est vide alors on rejette l'enregistrement |
92 |
|
|
// *** liste |
93 |
|
|
$field_required = array("om_profil", "login", "nom", "om_collectivite"); |
94 |
|
|
foreach($field_required as $field) { |
95 |
|
|
if (trim($this->valF[$field]) == "") { |
96 |
|
|
$this->correct = false; |
97 |
|
|
$this->msg .= $this->form->lib[$field]." "; |
98 |
|
|
$this->msg .= _("est obligatoire")."<br />"; |
99 |
|
|
} |
100 |
|
|
} |
101 |
|
|
// pwd en maj pas de valF si pas de modification du pwd |
102 |
|
|
if ($val['pwd']==""){ |
103 |
|
|
$this->correct=false; |
104 |
|
|
$this->msg= $this->msg._("pwd")." "._("est obligatoire")."<br />"; |
105 |
|
|
} |
106 |
|
|
} |
107 |
|
|
/** |
108 |
|
|
* Cette methode est appelee lors de la suppression d'un objet, elle permet |
109 |
|
|
* d'effectuer des tests pour verifier si l'objet supprime n'est pas cle |
110 |
|
|
* secondaire dans une autre table pour en empecher la suppression. |
111 |
|
|
* |
112 |
|
|
* @param string $id Identifiant (cle primaire) de l'objet dans la base |
113 |
|
|
* @param object $db Objet Base de donnees |
114 |
|
|
* @param array $val Tableau associatif representant les valeurs du |
115 |
|
|
* formulaire |
116 |
|
|
* @param integer $DEBUG Mode debug : |
117 |
|
|
* - 0 => Pas de Mode debug |
118 |
|
|
* - 1 => Mode debug |
119 |
|
|
* |
120 |
|
|
* @return void |
121 |
|
|
*/ |
122 |
|
|
function cleSecondaire($id, &$db, $val, $DEBUG) { |
123 |
|
|
// Initialisation de l'attribut correct a true |
124 |
|
|
$this->correct = true; |
125 |
|
|
// |
126 |
|
|
$this->rechercheLogin($id, $db, $DEBUG); |
127 |
|
|
// Si la suppression n'est pas possible, on ajoute un message clair |
128 |
|
|
// pour l'utilisateur |
129 |
|
|
if ($this->correct == false) { |
130 |
|
|
$this->msg .= _("SUPPRESSION IMPOSSIBLE")."<br />"; |
131 |
|
|
} |
132 |
|
|
} |
133 |
|
|
|
134 |
|
|
/** |
135 |
|
|
* Recherche si le login a supprimer est identique au login de |
136 |
|
|
* l'utilisateur connecte |
137 |
|
|
* |
138 |
|
|
* @return void |
139 |
|
|
*/ |
140 |
|
|
function rechercheLogin($id, &$db, $DEBUG) { |
141 |
|
|
// |
142 |
|
|
$sql = "select * from om_utilisateur where om_utilisateur='".$id."'"; |
143 |
|
|
$res = $db->query($sql); |
144 |
|
|
if (database::isError($res)) { |
145 |
|
|
$this->erreur_db($res->getDebugInfo(), $res->getMessage(), ""); |
146 |
|
|
} else { |
147 |
|
|
// |
148 |
|
|
$row =& $res->fetchRow(DB_FETCHMODE_ASSOC); |
149 |
|
|
if ($row['login'] == $_SESSION ['login']) { |
150 |
|
|
$this->msg .= _("Vous ne pouvez pas supprimer votre utilisateur.")."<br/>"; |
151 |
|
|
$this->correct = false; |
152 |
|
|
} |
153 |
|
|
} |
154 |
|
|
} |
155 |
|
|
|
156 |
|
|
/** |
157 |
|
|
* Parametrage du formulaire - Type des entrees de formulaire |
158 |
|
|
* |
159 |
|
|
* @param object $form Objet formulaire |
160 |
|
|
* @param integer $maj Mode de mise a jour : |
161 |
|
|
* - 0 => ajout |
162 |
|
|
* - 1 => modification |
163 |
|
|
* - 2 => suppression |
164 |
|
|
* |
165 |
|
|
* @return void |
166 |
|
|
*/ |
167 |
|
|
function setType(&$form, $maj) { |
168 |
|
|
parent:: setType($form, $maj); |
169 |
|
|
$form->setType("om_type", "hidden"); |
170 |
|
|
if ($maj < 2) { // ajouter et modifier |
171 |
|
|
$form->setType("pwd", "password"); |
172 |
|
|
$form->setType("om_utilisateur", "hidden"); |
173 |
|
|
} |
174 |
|
|
} |
175 |
|
|
|
176 |
|
|
function setTaille(&$form,$maj) { |
177 |
|
|
parent::setTaille($form,$maj); |
178 |
|
|
$form->setTaille('pwd',20); |
179 |
|
|
} |
180 |
|
|
|
181 |
|
|
function setOnchange(&$form,$maj){ |
182 |
|
|
// * mise en majuscule |
183 |
|
|
// * Put in capital letter |
184 |
|
|
parent::setOnchange($form,$maj); |
185 |
|
|
$form->setOnchange("nom","this.value=this.value.toUpperCase()"); |
186 |
|
|
} |
187 |
|
|
|
188 |
|
|
// si hors openelec |
189 |
|
|
function setVal(&$form, $maj, $validation, &$db, $DEBUG=null){ |
190 |
|
|
if ($maj == 1) |
191 |
|
|
$form->setVal('pwd', "*****"); |
192 |
|
|
if ($validation==0) { |
193 |
|
|
if ($maj == 0){ |
194 |
|
|
$form->setVal("om_type", "db"); |
195 |
|
|
} |
196 |
|
|
} |
197 |
|
|
} |
198 |
|
|
|
199 |
|
|
function setValsousformulaire(&$form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire){ |
200 |
|
|
parent::setValsousformulaire($form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire,$db,$DEBUG=null); |
201 |
|
|
if ($validation==0) { |
202 |
|
|
if ($maj == 0){ |
203 |
|
|
$form->setVal($retourformulaire, $idxformulaire); |
204 |
|
|
$form->setVal("om_type", "db"); |
205 |
|
|
}else{ |
206 |
|
|
$form->setVal('pwd', "*****"); |
207 |
|
|
} |
208 |
|
|
} |
209 |
|
|
} |
210 |
|
|
|
211 |
|
|
function setGroupe(&$form,$maj){ |
212 |
|
|
$form->setGroupe('nom','D'); |
213 |
|
|
$form->setGroupe('email','F'); |
214 |
|
|
$form->setGroupe('login','D'); |
215 |
|
|
$form->setGroupe('pwd','F'); |
216 |
|
|
} |
217 |
|
|
|
218 |
|
|
function setRegroupe(&$form,$maj){ |
219 |
|
|
$form->setRegroupe('nom','D'," "._("nom")." "); |
220 |
|
|
$form->setRegroupe('email','G',''); |
221 |
|
|
$form->setRegroupe('login','G',''); |
222 |
|
|
$form->setRegroupe('pwd','F',''); |
223 |
|
|
} |
224 |
|
|
|
225 |
|
|
}// fin classe |
226 |
|
|
?> |