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 "../core/obj/om_utilisateur.class.php"; |
10 |
|
11 |
class om_utilisateur extends om_utilisateur_core { |
12 |
|
13 |
function om_utilisateur($id,&$db,$debug) { |
14 |
$this->constructeur($id,$db,$debug); |
15 |
}// fin constructeur |
16 |
|
17 |
function cleSecondaire($id, &$db = NULL, $val = array(), $DEBUG = false) { |
18 |
// Initialisation de l'attribut correct a true |
19 |
$this->correct = true; |
20 |
// Recherche si le login a supprimer est identique au login de |
21 |
// l'utilisateur connecte |
22 |
$sql = "select * from ".DB_PREFIXE."om_utilisateur where om_utilisateur='".$id."'"; |
23 |
$res = $db->query($sql); |
24 |
if (database::isError($res)) { |
25 |
$this->erreur_db($res->getDebugInfo(), $res->getMessage(), ""); |
26 |
} else { |
27 |
// |
28 |
$row =& $res->fetchRow(DB_FETCHMODE_ASSOC); |
29 |
if ($row['login'] == $_SESSION ['login']) { |
30 |
$this->msg .= _("Vous ne pouvez pas supprimer votre utilisateur.")."<br/>"; |
31 |
$this->correct = false; |
32 |
} |
33 |
} |
34 |
// Si la suppression n'est pas possible, on ajoute un message clair |
35 |
// pour l'utilisateur |
36 |
if ($this->correct == false) { |
37 |
$this->msg .= _("SUPPRESSION IMPOSSIBLE")."<br />"; |
38 |
} |
39 |
} |
40 |
|
41 |
/** |
42 |
* Permet d’effectuer des actions avant la modification des données dans la base |
43 |
* @param mixed $id Identifiant de l'enregistrement |
44 |
* @param mixed $db Connecteur BDD |
45 |
* @param array $val Valeurs |
46 |
* @param boolean $DEBUG Mode debug |
47 |
*/ |
48 |
function triggersupprimer($id, $db, $val, $DEBUG) { |
49 |
|
50 |
// Si l'utilisateur est un instructeur |
51 |
$get_instructeur_by_om_utilisateur = $this->get_instructeur_by_om_utilisateur($id); |
52 |
if ($get_instructeur_by_om_utilisateur != '') { |
53 |
|
54 |
// Instanciation de la classe instructeur |
55 |
require_once '../obj/instructeur.class.php'; |
56 |
$instructeur = new instructeur($get_instructeur_by_om_utilisateur, $db, $DEBUG); |
57 |
// Valeurs de l'enregistrement |
58 |
$value_instructeur = array(); |
59 |
foreach($instructeur->champs as $key => $champ) { |
60 |
// |
61 |
$value_instructeur[$champ] = $instructeur->val[$key]; |
62 |
} |
63 |
// Valeur à modifier |
64 |
$value_instructeur['om_utilisateur'] = NULL; |
65 |
// Modifie l'enregistrement |
66 |
$instructeur->modifier($value_instructeur, $db, $DEBUG); |
67 |
} |
68 |
|
69 |
// Si l'utilisateur est associé à des services |
70 |
$get_lien_service_om_utilisateur_by_om_utilisateur = $this->get_lien_service_om_utilisateur_by_om_utilisateur($id); |
71 |
if ($get_lien_service_om_utilisateur_by_om_utilisateur != '') { |
72 |
|
73 |
//Instanciation de la classe lien_service_om_utilisateur |
74 |
require_once '../obj/lien_service_om_utilisateur.class.php'; |
75 |
|
76 |
// |
77 |
while ($row = &$get_lien_service_om_utilisateur_by_om_utilisateur->fetchRow(DB_FETCHMODE_ASSOC)) { |
78 |
|
79 |
$lien_service_om_utilisateur = new lien_service_om_utilisateur($row['lien_service_om_utilisateur'], $db, $DEBUG); |
80 |
// Valeurs de l'enregistrement |
81 |
$value_lien_service_om_utilisateur = array(); |
82 |
foreach($lien_service_om_utilisateur->champs as $key => $champ) { |
83 |
// |
84 |
$value_lien_service_om_utilisateur[$champ] = $lien_service_om_utilisateur->val[$key]; |
85 |
} |
86 |
// Valeur à modifier |
87 |
$value_lien_service_om_utilisateur['om_utilisateur'] = NULL; |
88 |
// Modifie l'enregistrement |
89 |
$lien_service_om_utilisateur->modifier($value_lien_service_om_utilisateur, $db, $DEBUG); |
90 |
} |
91 |
|
92 |
|
93 |
} |
94 |
|
95 |
} |
96 |
|
97 |
/** |
98 |
* Récupère l'identifiant de l'instructeur par rapport à l'utilisateur |
99 |
* @param integer $om_utilisateur Identifiant de l'utilisateur |
100 |
* @return integer Identifiant de l'instructeur |
101 |
*/ |
102 |
function get_instructeur_by_om_utilisateur($om_utilisateur) { |
103 |
|
104 |
// Initialisation résultat |
105 |
$instructeur = ''; |
106 |
|
107 |
// Si la condition n'est pas vide |
108 |
if ($om_utilisateur != "" |
109 |
&& $om_utilisateur != null |
110 |
&& is_numeric($om_utilisateur)) { |
111 |
|
112 |
// Requête SQL |
113 |
$sql = "SELECT instructeur |
114 |
FROM ".DB_PREFIXE."instructeur |
115 |
WHERE om_utilisateur = $om_utilisateur"; |
116 |
$this->f->addToLog("get_instructeur_by_om_utilisateur() : db->getOne(\"".$sql."\")", VERBOSE_MODE); |
117 |
$instructeur = $this->db->getOne($sql); |
118 |
$this->f->isDatabaseError($instructeur); |
119 |
} |
120 |
|
121 |
// Retourne résultat |
122 |
return $instructeur; |
123 |
|
124 |
} |
125 |
|
126 |
/** |
127 |
* Récupère l'identifiant de lien_service_om_utilisateur par rapport à |
128 |
* l'utilisateur |
129 |
* @param integer $om_utilisateur Identifiant de l'utilisateur |
130 |
* @return object Résultat de la requête |
131 |
*/ |
132 |
function get_lien_service_om_utilisateur_by_om_utilisateur($om_utilisateur) { |
133 |
|
134 |
// Initialisation résultat |
135 |
$res = ''; |
136 |
|
137 |
// Si la condition n'est pas vide |
138 |
if ($om_utilisateur != "" |
139 |
&& $om_utilisateur != null |
140 |
&& is_numeric($om_utilisateur)) { |
141 |
|
142 |
// Requête SQL |
143 |
$sql = "SELECT lien_service_om_utilisateur |
144 |
FROM ".DB_PREFIXE."lien_service_om_utilisateur |
145 |
WHERE om_utilisateur = $om_utilisateur"; |
146 |
$this->f->addToLog("get_lien_service_om_utilisateur_by_om_utilisateur() : db->query(\"".$sql."\")", VERBOSE_MODE); |
147 |
$res = $this->db->query($sql); |
148 |
$this->f->isDatabaseError($res); |
149 |
} |
150 |
|
151 |
// Retourne résultat |
152 |
return $res; |
153 |
|
154 |
} |
155 |
} |
156 |
|
157 |
?> |