/[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 3 - (show annotations)
Thu Feb 10 20:46:18 2011 UTC (13 years, 11 months ago) by fraynaud
File size: 8036 byte(s)
version initiale


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 ".$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 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 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26