/[openfoncier]/trunk/obj/om_utilisateur.class.php
ViewVC logotype

Contents of /trunk/obj/om_utilisateur.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 295 - (show annotations)
Thu Feb 2 15:00:30 2012 UTC (13 years ago) by fraynaud
File size: 8498 byte(s)
* 02/02/2012 bug om_utilisateur saisie email - telephone 
* bug parent



1 <?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 ".DB_PREFIXE.$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")."&nbsp;"._("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 ".DB_PREFIXE."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 $form->setType("instructeur", "checkbox");
174 }
175 }
176
177 function setTaille(&$form,$maj) {
178 parent::setTaille($form,$maj);
179 $form->setTaille('pwd',20);
180 $form->setTaille('nom',30);
181 $form->setTaille('email',40);
182 $form->setTaille('login',30);
183 $form->setTaille('instructeur',3);
184 $form->setTaille('telephone',14);
185 }
186
187 function setMax(&$form,$maj) {
188 parent::setMax($form,$maj);
189 $form->setMax('nom',30);
190 $form->setMax('email',40);
191 $form->setMax('login',30);
192 $form->setMax('instructeur',3);
193 $form->setMax('telephone',14);
194 }
195
196 function setOnchange(&$form,$maj){
197 // * mise en majuscule
198 // * Put in capital letter
199 parent::setOnchange($form,$maj);
200 $form->setOnchange("nom","this.value=this.value.toUpperCase()");
201 }
202
203
204
205 // si hors openelec
206 function setVal(&$form, $maj, $validation, &$db, $DEBUG=null){
207 if ($maj == 1)
208 $form->setVal('pwd', "*****");
209 if ($validation==0) {
210 if ($maj == 0){
211 $form->setVal("om_type", "db");
212 }
213 }
214 }
215
216 function setValsousformulaire(&$form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire){
217 parent::setValsousformulaire($form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire,$db,$DEBUG=null);
218 if ($validation==0) {
219 if ($maj == 0){
220 $form->setVal($retourformulaire, $idxformulaire);
221 $form->setVal("om_type", "db");
222 }else{
223 $form->setVal('pwd', "*****");
224 }
225 }
226 }
227
228 function setGroupe(&$form,$maj){
229 $form->setGroupe('nom','D');
230 $form->setGroupe('email','F');
231 $form->setGroupe('login','D');
232 $form->setGroupe('pwd','F');
233 }
234
235 function setRegroupe(&$form,$maj){
236 $form->setRegroupe('nom','D'," "._("nom")." ");
237 $form->setRegroupe('email','G','');
238 $form->setRegroupe('login','G','');
239 $form->setRegroupe('pwd','F','');
240 }
241
242 }// fin classe
243 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26