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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 16 by fraynaud, Fri Jul 1 09:40:58 2011 UTC revision 390 by nhaye, Wed Sep 19 15:13:15 2012 UTC
# Line 6  require_once ("../gen/obj/om_utilisateur Line 6  require_once ("../gen/obj/om_utilisateur
6  class om_utilisateur extends om_utilisateur_gen {  class om_utilisateur extends om_utilisateur_gen {
7    
8      function om_utilisateur($id,&$db,$debug) {      function om_utilisateur($id,&$db,$debug) {
9                  $this->constructeur($id,$db,$debug);          $this->constructeur($id,$db,$debug);
10      }// fin constructeur      }// fin constructeur
11    
     /**  
      * Cette methode permet de remplir le tableau associatif valF attribut de  
      * l'objet en vue de l'insertion des donnees dans la base.  
      *  
      * @param array $val Tableau associatif representant les valeurs du  
      *                   formulaire  
      *  
      * @return void  
      */  
   
12      function setvalF($val) {      function setvalF($val) {
13          // version utilisateur.class liee a setVal et setValFormulaire          //
14          parent::setvalF($val);          parent::setvalF($val);
15          if ($val['pwd']!="*****")  
16              $this->valF['pwd'] = md5($val['pwd']);          /* Gestion des mises a jour du mot de passe */
17          else  
18              unset ($this->valF['pwd']);          // si un mot de passe est soumis par formulaire
19          /* version openelec              if ($val["pwd"] != '') {
20          if ($val['pwd'] == "")  
21              $this->valF['pwd'] = "";              // si le mot de passe contient une valeur 'valide' (!= "*****")
22          elseif ($val['pwd'] == $this->val[3])              if ($val["pwd"] != "*****") {
23              $this->valF['pwd'] = $this->val[3];  
24          else                  // calcul du md5 et mise a jour dans la base
25              $this->valF['pwd'] = md5 ($val['pwd']);                  $this->valF["pwd"] = md5($val["pwd"]);
26          */  
27      }              // si le mot de passe n'a pas ete modifie, aucune maj dans la base
   
     /**  
      * Cette methode est appelee lors de l'ajout d'un objet, elle permet  
      * d'effectuer des tests d'integrite sur la cle primaire pour verifier  
      * si la cle a bien ete saisie dans le formulaire et si l'objet ajoute  
      * n'existe pas deja dans la table pour en empecher l'ajout.  
      *  
      * @param array $val Tableau associatif representant les valeurs du  
      *                   formulaire  
      * @param object $db Objet Base de donnees  
      *  
      * @return void  
      */  
     function verifierAjout($val, &$db) {  
         // Si le login est vide alors on rejette l'enregistrement  
         if (trim($this->valF["login"]) == "") {  
             $this->correct = false;  
             $this->msg .= $this->form->lib["login"];  
             $this->msg .= _(" est obligatoire")."<br />";  
         }  
         // Si le test precedent a ete reussi alors on teste si le login  
         // n'existe pas deja dans la table  
         if ($this->correct == true) {  
             // Construction de la requete  
             $sql = "select count(*) from ".$this->table." ";  
             $sql .= "where login='".$val["login"]."'";  
             // Execution de la requete  
             $nb = $db->getone($sql);  
             if (database::isError($nb)) {  
                 // Appel de la methode qui gere les erreurs  
                 $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');  
28              } else {              } else {
29                  // Si le resultat de la requete renvoit un ou plusieurs                  unset($this->valF["pwd"]);
                 // enregistrements  
                 if ($nb > 0) {  
                     // On rejette l'enregistrement  
                     $this->correct = false;  
                     $this->msg .= _("Il existe deja un enregistrement avec cet identifiant, vous devez en choisir un autre")."<br />";  
                 }  
30              }              }
31          }          }
32      }      }
33    
34      /**      function cleSecondaire($id, &$db = NULL, $val = array(), $DEBUG = false) {
      * Cette methode est appelee lors de l'ajout ou de la modification d'un  
      * objet, elle permet d'effectuer des tests d'integrite sur les valeurs  
      * saisies dans le formulaire pour en empecher l'enregistrement.  
      *  
      * @return void  
      */  
     function verifier($val,&$db,$DEBUG) {  
         // Initialisation de l'attribut correct a true  
         $this->correct = true;  
         // Si la valeur est vide alors on rejette l'enregistrement  
         // *** liste  
         $field_required = array("om_profil", "login", "nom", "om_collectivite");  
         foreach($field_required as $field) {  
             if (trim($this->valF[$field]) == "") {  
                 $this->correct = false;  
                 $this->msg .= $this->form->lib[$field]." ";  
                 $this->msg .= _("est obligatoire")."<br />";  
             }  
         }  
         // pwd en maj pas de valF si pas de modification du pwd  
         if ($val['pwd']==""){  
             $this->correct=false;  
             $this->msg= $this->msg._("pwd")."&nbsp;"._("est obligatoire")."<br />";  
         }  
     }  
     /**  
      * Cette methode est appelee lors de la suppression d'un objet, elle permet  
      * d'effectuer des tests pour verifier si l'objet supprime n'est pas cle  
      * secondaire dans une autre table pour en empecher la suppression.  
      *  
      * @param string $id Identifiant (cle primaire) de l'objet dans la base  
      * @param object $db Objet Base de donnees  
      * @param array $val Tableau associatif representant les valeurs du  
      *                   formulaire  
      * @param integer $DEBUG Mode debug :  
      *                       - 0 => Pas de Mode debug  
      *                       - 1 => Mode debug  
      *  
      * @return void  
      */  
     function cleSecondaire($id, &$db, $val, $DEBUG) {  
35          // Initialisation de l'attribut correct a true          // Initialisation de l'attribut correct a true
36          $this->correct = true;          $this->correct = true;
37          //          // Recherche si le login a supprimer est identique au login de
38          $this->rechercheLogin($id, $db, $DEBUG);          // l'utilisateur connecte
39          // Si la suppression n'est pas possible, on ajoute un message clair          $sql = "select * from ".DB_PREFIXE."om_utilisateur where om_utilisateur='".$id."'";
         // pour l'utilisateur  
         if ($this->correct == false) {  
             $this->msg .= _("SUPPRESSION IMPOSSIBLE")."<br />";  
         }  
     }  
       
     /**  
      * Recherche si le login a supprimer est identique au login de  
      * l'utilisateur connecte  
      *  
      * @return void  
      */  
     function rechercheLogin($id, &$db, $DEBUG) {  
         //  
         $sql = "select * from om_utilisateur where om_utilisateur='".$id."'";  
40          $res = $db->query($sql);          $res = $db->query($sql);
41          if (database::isError($res)) {          if (database::isError($res)) {
42              $this->erreur_db($res->getDebugInfo(), $res->getMessage(), "");              $this->erreur_db($res->getDebugInfo(), $res->getMessage(), "");
# Line 151  class om_utilisateur extends om_utilisat Line 48  class om_utilisateur extends om_utilisat
48                  $this->correct = false;                  $this->correct = false;
49              }              }
50          }          }
51            // Si la suppression n'est pas possible, on ajoute un message clair
52            // pour l'utilisateur
53            if ($this->correct == false) {
54                $this->msg .= _("SUPPRESSION IMPOSSIBLE")."<br />";
55            }
56      }      }
57    
58      /**      function setType(&$form,$maj) {
59       * Parametrage du formulaire - Type des entrees de formulaire          //
60       *          parent::setType($form, $maj);
61       * @param object $form Objet formulaire          // Gestion du type d'utilisateur (DB ou LDAP)
      * @param integer $maj Mode de mise a jour :  
      *                     - 0 => ajout  
      *                     - 1 => modification  
      *                     - 2 => suppression  
      *  
      * @return void  
      */  
     function setType(&$form, $maj) {  
     parent:: setType($form, $maj);  
62          $form->setType("om_type", "hidden");          $form->setType("om_type", "hidden");
63          if ($maj < 2) { // ajouter et modifier          // Test du MODE
64            if ($maj == 0) {
65                // Modes : AJOUTER
66                // Gestion du mot de passe
67                $form->setType("pwd", "password");
68            } elseif ($maj == 1) {
69                // Modes : AJOUTER
70                // Gestion du mot de passe
71              $form->setType("pwd", "password");              $form->setType("pwd", "password");
72              $form->setType("om_utilisateur", "hidden");              // Gestion du login
73              $form->setType("instructeur", "checkbox");              $form->setType("login", "hiddenstatic");
74          }          }
75      }      }
76            
77      function setTaille(&$form,$maj) {      function setTaille(&$form,$maj) {
78      parent::setTaille($form,$maj);                parent::setTaille($form,$maj);  
79          $form->setTaille('pwd',20);          $form->setTaille('pwd',20);
80      }      }
81    
# Line 185  class om_utilisateur extends om_utilisat Line 85  class om_utilisateur extends om_utilisat
85      parent::setOnchange($form,$maj);      parent::setOnchange($form,$maj);
86          $form->setOnchange("nom","this.value=this.value.toUpperCase()");          $form->setOnchange("nom","this.value=this.value.toUpperCase()");
87      }      }
88        
89      // si hors openelec      function setVal(&$form,$maj,$validation,&$db,$DEBUG=null){
90      function setVal(&$form, $maj, $validation, &$db, $DEBUG=null){          //
91          if ($maj == 1)          parent::setVal($form, $maj, $validation, $db, $DEBUG);
92              $form->setVal('pwd', "*****");          //
93          if ($validation==0) {          if ($validation == 0) {
94              if ($maj == 0){              // Test du MODE
95                if ($maj == 0) {
96                    // Mode : AJOUTER
97                    // Gestion du type d'utilisateur (DB ou LDAP)
98                  $form->setVal("om_type", "db");                  $form->setVal("om_type", "db");
99                } else {
100                    // Modes : MODIFIER & SUPPRIMER
101                    // Gestion du mot de passe
102                    // Lié a setValF()
103                    $form->setVal('pwd', "*****");
104              }              }
105          }          }
106      }      }
107        
108      function setValsousformulaire(&$form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire){      function setValsousformulaire(&$form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire,&$db,$DEBUG=null){
109      parent::setValsousformulaire($form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire,$db,$DEBUG=null);          //
110          if ($validation==0) {          parent::setValsousformulaire($form, $maj, $validation, $idxformulaire, $retourformulaire, $typeformulaire, $db, $DEBUG);
111              if ($maj == 0){          //
112                $form->setVal($retourformulaire, $idxformulaire);          if ($validation == 0) {
113                $form->setVal("om_type", "db");              // Test du MODE
114              }else{              if ($maj == 0) {
115                $form->setVal('pwd', "*****");                  // Mode : AJOUTER
116                    // Gestion du type d'utilisateur (DB ou LDAP)
117                    $form->setVal("om_type", "db");
118                } else {
119                    // Modes : MODIFIER & SUPPRIMER
120                    // Gestion du mot de passe
121                    // Lié a setValF()
122                    $form->setVal("pwd", "*****");
123              }              }
124          }          }
125      }      }
       
     function setGroupe(&$form,$maj){  
         $form->setGroupe('nom','D');  
         $form->setGroupe('email','F');  
         $form->setGroupe('login','D');  
         $form->setGroupe('pwd','F');  
     }  
       
     function setRegroupe(&$form,$maj){  
         $form->setRegroupe('nom','D'," "._("nom")." ");  
         $form->setRegroupe('email','G','');  
         $form->setRegroupe('login','G','');  
         $form->setRegroupe('pwd','F','');  
     }  
   
126  }// fin classe  }// fin classe
 ?>  
127    ?>

Legend:
Removed from v.16  
changed lines
  Added in v.390

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26