/[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 2353 - (show annotations)
Tue Sep 24 09:45:46 2013 UTC (11 years, 4 months ago) by softime
File size: 8534 byte(s)
- Affine les vérifications pour effectuer les requêtes

1 <?php
2 /**
3 *
4 *
5 * @package openmairie_exemple
6 * @version SVN : $Id: om_utilisateur.class.php 2470 2013-09-09 12:21:44Z fmichon $
7 */
8
9 require_once "../gen/obj/om_utilisateur.class.php";
10
11 class om_utilisateur extends om_utilisateur_gen {
12
13 function om_utilisateur($id,&$db,$debug) {
14 $this->constructeur($id,$db,$debug);
15 }// fin constructeur
16
17 function setvalF($val) {
18 //
19 parent::setvalF($val);
20
21 /* Gestion des mises a jour du mot de passe */
22
23 // si un mot de passe est soumis par formulaire
24 if ($val["pwd"] != '') {
25
26 // si le mot de passe contient une valeur 'valide' (!= "*****")
27 if ($val["pwd"] != "*****") {
28
29 // calcul du md5 et mise a jour dans la base
30 $this->valF["pwd"] = md5($val["pwd"]);
31
32 // si le mot de passe n'a pas ete modifie, aucune maj dans la base
33 } else {
34 unset($this->valF["pwd"]);
35 }
36 }
37 }
38
39 function cleSecondaire($id, &$db = NULL, $val = array(), $DEBUG = false) {
40 // Initialisation de l'attribut correct a true
41 $this->correct = true;
42 // Recherche si le login a supprimer est identique au login de
43 // l'utilisateur connecte
44 $sql = "select * from ".DB_PREFIXE."om_utilisateur where om_utilisateur='".$id."'";
45 $res = $db->query($sql);
46 if (database::isError($res)) {
47 $this->erreur_db($res->getDebugInfo(), $res->getMessage(), "");
48 } else {
49 //
50 $row =& $res->fetchRow(DB_FETCHMODE_ASSOC);
51 if ($row['login'] == $_SESSION ['login']) {
52 $this->msg .= _("Vous ne pouvez pas supprimer votre utilisateur.")."<br/>";
53 $this->correct = false;
54 }
55 }
56 // Si la suppression n'est pas possible, on ajoute un message clair
57 // pour l'utilisateur
58 if ($this->correct == false) {
59 $this->msg .= _("SUPPRESSION IMPOSSIBLE")."<br />";
60 }
61 }
62
63 function setType(&$form,$maj) {
64 //
65 parent::setType($form, $maj);
66 // Gestion du type d'utilisateur (DB ou LDAP)
67 $form->setType("om_type", "hidden");
68 // Test du MODE
69 if ($maj == 0) {
70 // Modes : AJOUTER
71 // Gestion du mot de passe
72 $form->setType("pwd", "password");
73 } elseif ($maj == 1) {
74 // Modes : AJOUTER
75 // Gestion du mot de passe
76 $form->setType("pwd", "password");
77 // Gestion du login
78 $form->setType("login", "hiddenstatic");
79 }
80 }
81
82 function setVal(&$form,$maj,$validation,&$db,$DEBUG=null){
83 //
84 parent::setVal($form, $maj, $validation, $db, $DEBUG);
85 //
86 if ($validation == 0) {
87 // Test du MODE
88 if ($maj == 0) {
89 // Mode : AJOUTER
90 // Gestion du type d'utilisateur (DB ou LDAP)
91 $form->setVal("om_type", "db");
92 } else {
93 // Modes : MODIFIER & SUPPRIMER
94 // Gestion du mot de passe
95 // Lié a setValF()
96 $form->setVal('pwd', "*****");
97 }
98 }
99 }
100
101 function setValsousformulaire(&$form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire,&$db,$DEBUG=null){
102 //
103 parent::setValsousformulaire($form, $maj, $validation, $idxformulaire, $retourformulaire, $typeformulaire, $db, $DEBUG);
104 //
105 if ($validation == 0) {
106 // Test du MODE
107 if ($maj == 0) {
108 // Mode : AJOUTER
109 // Gestion du type d'utilisateur (DB ou LDAP)
110 $form->setVal("om_type", "db");
111 } else {
112 // Modes : MODIFIER & SUPPRIMER
113 // Gestion du mot de passe
114 // Lié a setValF()
115 $form->setVal("pwd", "*****");
116 }
117 }
118 }
119
120 /**
121 * Permet d’effectuer des actions avant la modification des données dans la base
122 * @param mixed $id Identifiant de l'enregistrement
123 * @param mixed $db Connecteur BDD
124 * @param array $val Valeurs
125 * @param boolean $DEBUG Mode debug
126 */
127 function triggersupprimer($id, $db, $val, $DEBUG) {
128
129 // Si l'utilisateur est un instructeur
130 $get_instructeur_by_om_utilisateur = $this->get_instructeur_by_om_utilisateur($id);
131 if ($get_instructeur_by_om_utilisateur != '') {
132
133 // Instanciation de la classe instructeur
134 require_once '../obj/instructeur.class.php';
135 $instructeur = new instructeur($get_instructeur_by_om_utilisateur, $db, $DEBUG);
136 // Valeurs de l'enregistrement
137 $value_instructeur = array();
138 foreach($instructeur->champs as $key => $champ) {
139 //
140 $value_instructeur[$champ] = $instructeur->val[$key];
141 }
142 // Valeur à modifier
143 $value_instructeur['om_utilisateur'] = NULL;
144 // Modifie l'enregistrement
145 $instructeur->modifier($value_instructeur, $db, $DEBUG);
146 }
147
148 // Si l'utilisateur est associé à des services
149 $get_lien_service_om_utilisateur_by_om_utilisateur = $this->get_lien_service_om_utilisateur_by_om_utilisateur($id);
150 if ($get_lien_service_om_utilisateur_by_om_utilisateur != '') {
151
152 //Instanciation de la classe lien_service_om_utilisateur
153 require_once '../obj/lien_service_om_utilisateur.class.php';
154
155 //
156 while ($row = &$get_lien_service_om_utilisateur_by_om_utilisateur->fetchRow(DB_FETCHMODE_ASSOC)) {
157
158 $lien_service_om_utilisateur = new lien_service_om_utilisateur($row['lien_service_om_utilisateur'], $db, $DEBUG);
159 // Valeurs de l'enregistrement
160 $value_lien_service_om_utilisateur = array();
161 foreach($lien_service_om_utilisateur->champs as $key => $champ) {
162 //
163 $value_lien_service_om_utilisateur[$champ] = $lien_service_om_utilisateur->val[$key];
164 }
165 // Valeur à modifier
166 $value_lien_service_om_utilisateur['om_utilisateur'] = NULL;
167 // Modifie l'enregistrement
168 $lien_service_om_utilisateur->modifier($value_lien_service_om_utilisateur, $db, $DEBUG);
169 }
170
171
172 }
173
174 }
175
176 /**
177 * Récupère l'identifiant de l'instructeur par rapport à l'utilisateur
178 * @param integer $om_utilisateur Identifiant de l'utilisateur
179 * @return integer Identifiant de l'instructeur
180 */
181 function get_instructeur_by_om_utilisateur($om_utilisateur) {
182
183 // Initialisation résultat
184 $instructeur = '';
185
186 // Si la condition n'est pas vide
187 if ($om_utilisateur != ""
188 && $om_utilisateur != null
189 && is_numeric($om_utilisateur)) {
190
191 // Requête SQL
192 $sql = "SELECT instructeur
193 FROM ".DB_PREFIXE."instructeur
194 WHERE om_utilisateur = $om_utilisateur";
195 $this->f->addToLog("get_instructeur_by_om_utilisateur() : db->getOne(\"".$sql."\")", VERBOSE_MODE);
196 $instructeur = $this->db->getOne($sql);
197 $this->f->isDatabaseError($instructeur);
198 }
199
200 // Retourne résultat
201 return $instructeur;
202
203 }
204
205 /**
206 * Récupère l'identifiant de lien_service_om_utilisateur par rapport à
207 * l'utilisateur
208 * @param integer $om_utilisateur Identifiant de l'utilisateur
209 * @return object Résultat de la requête
210 */
211 function get_lien_service_om_utilisateur_by_om_utilisateur($om_utilisateur) {
212
213 // Initialisation résultat
214 $res = '';
215
216 // Si la condition n'est pas vide
217 if ($om_utilisateur != ""
218 && $om_utilisateur != null
219 && is_numeric($om_utilisateur)) {
220
221 // Requête SQL
222 $sql = "SELECT lien_service_om_utilisateur
223 FROM ".DB_PREFIXE."lien_service_om_utilisateur
224 WHERE om_utilisateur = $om_utilisateur";
225 $this->f->addToLog("get_lien_service_om_utilisateur_by_om_utilisateur() : db->query(\"".$sql."\")", VERBOSE_MODE);
226 $res = $this->db->query($sql);
227 $this->f->isDatabaseError($res);
228 }
229
230 // Retourne résultat
231 return $res;
232
233 }
234 }
235
236 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26