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")." "._("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(), ""); |
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 |
|
|
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 |
|
?> |