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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3 - (hide annotations)
Thu Feb 10 20:46:18 2011 UTC (13 years, 11 months ago) by fraynaud
File size: 8036 byte(s)
version initiale


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")."&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