Subversion Repositories Applications.gtt

Rev

Rev 36 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 36 Rev 48
1
<?php
1
<?php
2
// +------------------------------------------------------------------------------------------------------+
2
// +------------------------------------------------------------------------------------------------------+
3
// | PHP version 5.1.1                                                                                    |
3
// | PHP version 5.1.1                                                                                    |
4
// +------------------------------------------------------------------------------------------------------+
4
// +------------------------------------------------------------------------------------------------------+
5
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org)                                         |
5
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org)                                         |
6
// +------------------------------------------------------------------------------------------------------+
6
// +------------------------------------------------------------------------------------------------------+
7
// | This file is part of eFlore.                                                                         |
7
// | This file is part of eFlore.                                                                         |
8
// |                                                                                                      |
8
// |                                                                                                      |
9
// | Foobar is free software; you can redistribute it and/or modify                                       |
9
// | Foobar is free software; you can redistribute it and/or modify                                       |
10
// | it under the terms of the GNU General Public License as published by                                 |
10
// | it under the terms of the GNU General Public License as published by                                 |
11
// | the Free Software Foundation; either version 2 of the License, or                                    |
11
// | the Free Software Foundation; either version 2 of the License, or                                    |
12
// | (at your option) any later version.                                                                  |
12
// | (at your option) any later version.                                                                  |
13
// |                                                                                                      |
13
// |                                                                                                      |
14
// | Foobar is distributed in the hope that it will be useful,                                            |
14
// | Foobar is distributed in the hope that it will be useful,                                            |
15
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
16
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                        |
16
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                        |
17
// | GNU General Public License for more details.                                                         |
17
// | GNU General Public License for more details.                                                         |
18
// |                                                                                                      |
18
// |                                                                                                      |
19
// | You should have received a copy of the GNU General Public License                                    |
19
// | You should have received a copy of the GNU General Public License                                    |
20
// | along with Foobar; if not, write to the Free Software                                                |
20
// | along with Foobar; if not, write to the Free Software                                                |
21
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
22
// +------------------------------------------------------------------------------------------------------+
22
// +------------------------------------------------------------------------------------------------------+
23
// CVS : $Id$
23
// CVS : $Id$
24
/**
24
/**
25
* Classe Utilisateur
25
* Classe Utilisateur
26
*
26
*
27
* Description
27
* Description
28
*
28
*
29
*@package eFlore
29
*@package eFlore
30
*@subpackage modele
30
*@subpackage modele
31
//Auteur original :
31
//Auteur original :
32
*@version 3
32
*@version 3
33
*@author        Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
33
*@author        Shaheen ABDOOL RAHEEM <shaheenar50@hotmail.com>
34
//Autres auteurs :
34
//Autres auteurs :
35
*@version 4
35
*@version 4
36
*@author        Jean-Pascal MILCENT <jpm@clapas.org>
36
*@author        Jean-Pascal MILCENT <jpm@clapas.org>
37
*@author        aucun
37
*@author        aucun
38
*@copyright     Tela-Botanica 2000-2006
38
*@copyright     Tela-Botanica 2000-2006
39
*@version       $Revision$ $Date$
39
*@version       $Revision$ $Date$
40
// +------------------------------------------------------------------------------------------------------+
40
// +------------------------------------------------------------------------------------------------------+
41
*/
41
*/
42
 
42
 
43
/**
43
/**
44
* class Utilisateur : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
44
* class Utilisateur : est à la fois le DAO et le conteneur de la table gestion_utilisateur.
45
* classe métier
45
* classe métier
46
*/
46
*/
47
class Utilisateur extends aGttSql {
47
class Utilisateur extends aGttSql {
48
	/*** Constantes : */
48
	/*** Constantes : */
-
 
49
	const GU_TOUS = 'UTILISATEUR_TOUS';
49
	const GU_ID = 'UTILISATEUR_ID';
50
	const GU_ID = 'UTILISATEUR_ID';
50
	const GU_ID_MAX = 'UTILISATEUR_ID_MAX';
51
	const GU_ID_MAX = 'UTILISATEUR_ID_MAX';
-
 
52
	const GU_CE_STATUT = 'UTILISATEUR_CE_STATUT';
51
	const GU_MAIL = 'UTILISATEUR_MAIL';
53
	const GU_MAIL = 'UTILISATEUR_MAIL';
52
 
54
 
53
	/*** Attributs : */
55
	/*** Attributs : */
54
	private $id_utilisateur;
56
	private $id_utilisateur;
55
	private $ce_statut;
57
	private $ce_statut = 0;
56
	private $nom;
58
	private $nom;
57
	private $prenom;
59
	private $prenom;
58
	private $password;
60
	private $password;
59
	private $email;
61
	private $email;
60
	private $telephone;
62
	private $telephone;
61
	private $adresse;
63
	private $adresse;
62
	private $code_postal;
64
	private $code_postal;
63
	private $ville;
65
	private $ville;
64
	private $quota_heures_supp;
66
	private $quota_heures_supp = 0;
65
	private $conges_payes;
67
	private $conges_payes = 0;
66
	private $temps_de_travail;
68
	private $temps_de_travail = 7;
67
	private $mark_admin;
69
	private $mark_admin = 0;
68
	private $mark_recapitulatif;
70
	private $mark_recapitulatif = 1;
69
	private $notes;
71
	private $notes;
70
 
72
 
71
	/*** Aggregations : */
73
	/*** Aggregations : */
72
 
74
 
73
	/*** Constructeur : */
75
	/*** Constructeur : */
74
	public function __construct($cmd = null, $parametres = null)
76
	public function __construct($cmd = null, $parametres = null)
75
	{
77
	{
76
		$this->dao_table_nom = 'gestion_utilisateur';
78
		$this->dao_table_nom = 'gestion_utilisateur';
77
		$this->dao_correspondance = array(
79
		$this->dao_correspondance = array(
78
			'gu_id_utilisateur'	=> 'id_utilisateur',
80
			'gu_id_utilisateur'	=> 'id_utilisateur',
79
			'gu_ce_statut'	=> 'ce_statut',
81
			'gu_ce_statut'	=> 'ce_statut',
80
			'gu_nom'	=> 'nom',
82
			'gu_nom'	=> 'nom',
81
			'gu_prenom'	=> 'prenom',
83
			'gu_prenom'	=> 'prenom',
82
			'gu_password'	=> 'password',
84
			'gu_password'	=> 'password',
83
			'gu_email'	=> 'email',
85
			'gu_email'	=> 'email',
84
			'gu_telephone'	=> 'telephone',
86
			'gu_telephone'	=> 'telephone',
85
			'gu_adresse'	=> 'adresse',
87
			'gu_adresse'	=> 'adresse',
86
			'gu_code_postal'	=> 'code_postal',
88
			'gu_code_postal'	=> 'code_postal',
87
			'gu_ville'	=> 'ville',
89
			'gu_ville'	=> 'ville',
88
			'gu_quota_heures_supp'	=> 'quota_heures_supp',
90
			'gu_quota_heures_supp'	=> 'quota_heures_supp',
89
			'gu_conges_payes'	=> 'conges_payes',
91
			'gu_conges_payes'	=> 'conges_payes',
90
			'gu_temps_de_travail'	=> 'temps_de_travail',
92
			'gu_temps_de_travail'	=> 'temps_de_travail',
91
			'gu_mark_admin'	=> 'mark_admin',
93
			'gu_mark_admin'	=> 'mark_admin',
92
			'gu_mark_recapitulatif'	=> 'mark_recapitulatif',
94
			'gu_mark_recapitulatif'	=> 'mark_recapitulatif',
93
			'gu_notes'	=> 'notes');
95
			'gu_notes'	=> 'notes');
94
 
96
 
95
		// Si l'on veut remplir l'objet à la création on lance la requete correspondante
97
		// Si l'on veut remplir l'objet à la création on lance la requete correspondante
96
		if (!is_null($cmd)) {
98
		if (!is_null($cmd)) {
97
			$this->consulter($cmd, $parametres, true);
99
			$this->consulter($cmd, $parametres, true);
98
		}
100
		}
99
	}
101
	}
100
 
102
 
101
	/*** Accesseurs : */
103
	/*** Accesseurs : */
102
	// Id Utilisateur
104
	// Id Utilisateur
103
	public function getIdUtilisateur()
105
	public function getIdUtilisateur()
104
	{
106
	{
105
		return $this->id_utilisateur;
107
		return $this->id_utilisateur;
106
	}
108
	}
107
	public function setIdUtilisateur( $iu )
109
	public function setIdUtilisateur( $iu )
108
	{
110
	{
109
		$this->id_utilisateur = $iu;
111
		$this->id_utilisateur = $iu;
110
	}
112
	}
111
 
113
 
112
	// Gus Id Utilisateur Statut
114
	// Gus Id Utilisateur Statut
113
	public function getCeStatut()
115
	public function getCeStatut()
114
	{
116
	{
115
		return $this->ce_statut;
117
		return $this->ce_statut;
116
	}
118
	}
117
	public function setCeStatut( $cs )
119
	public function setCeStatut( $cs )
118
	{
120
	{
119
		$this->ce_statut = $cs;
121
		$this->ce_statut = $cs;
120
	}
122
	}
121
 
123
 
122
	// Nom
124
	// Nom
123
	public function getNom()
125
	public function getNom()
124
	{
126
	{
125
		return $this->nom;
127
		return $this->nom;
126
	}
128
	}
127
	public function setNom( $n )
129
	public function setNom( $n )
128
	{
130
	{
129
		$this->nom = $n;
131
		$this->nom = $n;
130
	}
132
	}
131
 
133
 
132
	// Prenom
134
	// Prenom
133
	public function getPrenom()
135
	public function getPrenom()
134
	{
136
	{
135
		return $this->prenom;
137
		return $this->prenom;
136
	}
138
	}
137
	public function setPrenom( $p )
139
	public function setPrenom( $p )
138
	{
140
	{
139
		$this->prenom = $p;
141
		$this->prenom = $p;
140
	}
142
	}
141
 
143
 
142
	// Password
144
	// Password
143
	public function getPassword()
145
	public function getPassword()
144
	{
146
	{
145
		return $this->password;
147
		return $this->password;
146
	}
148
	}
147
	public function setPassword( $p )
149
	public function setPassword( $p )
148
	{
150
	{
149
		$this->password = $p;
151
		$this->password = $p;
150
	}
152
	}
151
 
153
 
152
	// Email
154
	// Email
153
	public function getEmail()
155
	public function getEmail()
154
	{
156
	{
155
		return $this->email;
157
		return $this->email;
156
	}
158
	}
157
	public function setEmail( $e )
159
	public function setEmail( $e )
158
	{
160
	{
159
		$this->email = $e;
161
		$this->email = $e;
160
	}
162
	}
161
 
163
 
162
	// Telephone
164
	// Telephone
163
	public function getTelephone()
165
	public function getTelephone()
164
	{
166
	{
165
		return $this->telephone;
167
		return $this->telephone;
166
	}
168
	}
167
	public function setTelephone( $t )
169
	public function setTelephone( $t )
168
	{
170
	{
169
		$this->telephone = $t;
171
		$this->telephone = $t;
170
	}
172
	}
171
 
173
 
172
	// Adresse
174
	// Adresse
173
	public function getAdresse()
175
	public function getAdresse()
174
	{
176
	{
175
		return $this->adresse;
177
		return $this->adresse;
176
	}
178
	}
177
	public function setAdresse( $a )
179
	public function setAdresse( $a )
178
	{
180
	{
179
		$this->adresse = $a;
181
		$this->adresse = $a;
180
	}
182
	}
181
 
183
 
182
	// Code Postal
184
	// Code Postal
183
	public function getCodePostal()
185
	public function getCodePostal()
184
	{
186
	{
185
		return $this->code_postal;
187
		return $this->code_postal;
186
	}
188
	}
187
	public function setCodePostal( $cp )
189
	public function setCodePostal( $cp )
188
	{
190
	{
189
		$this->code_postal = $cp;
191
		$this->code_postal = $cp;
190
	}
192
	}
191
 
193
 
192
	// Ville
194
	// Ville
193
	public function getVille()
195
	public function getVille()
194
	{
196
	{
195
		return $this->ville;
197
		return $this->ville;
196
	}
198
	}
197
	public function setVille( $v )
199
	public function setVille( $v )
198
	{
200
	{
199
		$this->ville = $v;
201
		$this->ville = $v;
200
	}
202
	}
201
 
203
 
202
	// Quota Heures Supp
204
	// Quota Heures Supp
203
	public function getQuotaHeuresSupp()
205
	public function getQuotaHeuresSupp()
204
	{
206
	{
205
		return $this->quota_heures_supp;
207
		return $this->quota_heures_supp;
206
	}
208
	}
207
	public function setQuotaHeuresSupp( $qhs )
209
	public function setQuotaHeuresSupp( $qhs )
208
	{
210
	{
209
		$this->quota_heures_supp = $qhs;
211
		$this->quota_heures_supp = $qhs;
210
	}
212
	}
211
 
213
 
212
	// Conges Payes
214
	// Conges Payes
213
	public function getCongesPayes()
215
	public function getCongesPayes()
214
	{
216
	{
215
		return $this->conges_payes;
217
		return $this->conges_payes;
216
	}
218
	}
217
	public function setCongesPayes( $cp )
219
	public function setCongesPayes( $cp )
218
	{
220
	{
219
		$this->conges_payes = $cp;
221
		$this->conges_payes = $cp;
220
	}
222
	}
221
 
223
 
222
	// Temps De Travail
224
	// Temps De Travail
223
	public function getTempsDeTravail()
225
	public function getTempsDeTravail()
224
	{
226
	{
225
		return $this->temps_de_travail;
227
		return $this->temps_de_travail;
226
	}
228
	}
227
	public function setTempsDeTravail( $tdt )
229
	public function setTempsDeTravail( $tdt )
228
	{
230
	{
229
		$this->temps_de_travail = $tdt;
231
		$this->temps_de_travail = $tdt;
230
	}
232
	}
231
 
233
 
232
	// Mark Admin
234
	// Mark Admin
233
	public function getMarkAdmin()
235
	public function getMarkAdmin()
234
	{
236
	{
235
		return $this->mark_admin;
237
		return $this->mark_admin;
236
	}
238
	}
237
	public function setMarkAdmin( $ma )
239
	public function setMarkAdmin( $ma )
238
	{
240
	{
239
		$this->mark_admin = $ma;
241
		$this->mark_admin = $ma;
240
	}
242
	}
241
 
243
 
242
	// Mark Recapitulatif
244
	// Mark Recapitulatif
243
	public function getMarkRecapitulatif()
245
	public function getMarkRecapitulatif()
244
	{
246
	{
245
		return $this->mark_recapitulatif;
247
		return $this->mark_recapitulatif;
246
	}
248
	}
247
	public function setMarkRecapitulatif( $mr )
249
	public function setMarkRecapitulatif( $mr )
248
	{
250
	{
249
		$this->mark_recapitulatif = $mr;
251
		$this->mark_recapitulatif = $mr;
250
	}
252
	}
251
 
253
 
252
	// Notes
254
	// Notes
253
	public function getNotes()
255
	public function getNotes()
254
	{
256
	{
255
		return $this->notes;
257
		return $this->notes;
256
	}
258
	}
257
	public function setNotes( $n )
259
	public function setNotes( $n )
258
	{
260
	{
259
		$this->notes = $n;
261
		$this->notes = $n;
260
	}
262
	}
261
 
263
 
262
	/*** Méthodes : */
264
	/*** Méthodes : */
263
 
265
 
264
	/**
266
	/**
265
	* Consulter la table gestion_utilisateur.
267
	* Consulter la table gestion_utilisateur.
266
	* @return mixed un tableau d'objets Utilisateur s'il y en a plusieurs, l'objet Utilisateur s'il y en a 1 seul sinon false.
268
	* @return mixed un tableau d'objets Utilisateur s'il y en a plusieurs, l'objet Utilisateur s'il y en a 1 seul sinon false.
267
	*/
269
	*/
268
	public function consulter($cmd = '', $parametres = array(), $instancier = false)
270
	public function consulter($cmd = '', $parametres = array(), $instancier = false)
269
	{
271
	{
-
 
272
		if (!is_array($parametres)) {
-
 
273
			$parametres[0] = $parametres;
-
 
274
		}
270
		switch ($cmd) {
275
		switch ($cmd) {
-
 
276
			case Utilisateur::GU_TOUS:
-
 
277
				$requete = 	'SELECT * '.
-
 
278
							'FROM gestion_utilisateur '.
-
 
279
							'ORDER BY gu_prenom, gu_nom ASC';
-
 
280
				break;
271
			case Utilisateur::GU_ID:
281
			case Utilisateur::GU_ID:
272
				$requete = 	'SELECT * '.
282
				$requete = 	'SELECT * '.
273
							'FROM gestion_utilisateur '.
283
							'FROM gestion_utilisateur '.
274
							'WHERE gu_id_utilisateur = '.$parametres[0].' ';
284
							'WHERE gu_id_utilisateur = '.$parametres[0].' ';
275
				break;
285
				break;
276
			case Utilisateur::GU_ID_MAX:
286
			case Utilisateur::GU_ID_MAX:
277
				$requete =	'SELECT MAX(gu_id_utilisateur) '.
287
				$requete =	'SELECT MAX(gu_id_utilisateur) AS gu_id_utilisateur '.
278
							'FROM gestion_utilisateur ';
288
							'FROM gestion_utilisateur ';
279
				break;
289
				break;
-
 
290
			case Utilisateur::GU_CE_STATUT:
-
 
291
				$requete =	'SELECT * '.
-
 
292
							'FROM gestion_utilisateur '.
-
 
293
							'WHERE gu_ce_statut = "'.$parametres[0].'" ';
-
 
294
				break;
280
			case Utilisateur::GU_MAIL:
295
			case Utilisateur::GU_MAIL:
281
				$requete =	'SELECT * '.
296
				$requete =	'SELECT * '.
282
							'FROM gestion_utilisateur '.
297
							'FROM gestion_utilisateur '.
283
							'WHERE gu_email = "'.$parametres[0].'" ';
298
							'WHERE gu_email = "'.$parametres[0].'" ';
284
				break;
299
				break;
285
			default :
300
			default :
286
				$message = 'Commande '.$cmd.'inconnue!';
301
				$message = 'Commande '.$cmd.'inconnue!';
287
				$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
302
				$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
288
    			trigger_error($e, E_USER_ERROR);
303
    			trigger_error($e, E_USER_ERROR);
289
		}
304
		}
290
 
305
 
291
		$resultat = $GLOBALS['db']->query($requete);
306
		$resultat = $GLOBALS['db']->query($requete);
292
		(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
307
		(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
293
		$tab_resultat = array();
308
		$tab_resultat = array();
294
		while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
309
		while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
295
			$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
310
			$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
296
		}
311
		}
297
 
312
 
298
		$resultat_nbre = count($tab_resultat);
313
		$resultat_nbre = count($tab_resultat);
299
		if ($resultat_nbre > 1) {
314
		if ($resultat_nbre > 1) {
300
			return $tab_resultat;
315
			return $tab_resultat;
301
		} else if ($resultat_nbre == 1) {
316
		} else if ($resultat_nbre == 1) {
302
			return $tab_resultat[0];
317
			return $tab_resultat[0];
303
		} else if ($resultat_nbre == 0) {
318
		} else if ($resultat_nbre == 0) {
304
			return false;
319
			return false;
305
		}
320
		}
306
	}
321
	}
307
 
322
 
308
	/** Afficher l'objet Utilisateur */
323
	/** Afficher l'objet Utilisateur */
309
	function afficherUtilisateur()
324
	function afficherUtilisateur()
310
	{
325
	{
311
		echo '<pre>'.print_r($this, true).'</pre>';
326
		echo '<pre>'.print_r($this, true).'</pre>';
312
	}
327
	}
313
 
328
 
314
	/**augmenter le nombre d'heure sup
329
	/**augmenter le nombre d'heure sup
315
	*un acces est fait a la bse de donnees pour enregistrer les changements en temps reel
330
	*un acces est fait a la bse de donnees pour enregistrer les changements en temps reel
316
 	*/
331
 	*/
317
	function augmenterQuotaHeuresSup($nb)
332
	function augmenterQuotaHeuresSup($nb)
318
	{
333
	{
319
		$this->quota_heures_sup =  $this->quota_heures_sup + $nb;
334
		$this->quota_heures_sup =  $this->quota_heures_sup + $nb;
320
	}
335
	}
321
 
336
 
322
	/**diminuer le nb d'heures sup*/
337
	/**diminuer le nb d'heures sup*/
323
	public function diminuerQuotaHeuresSup($nb)
338
	public function diminuerQuotaHeuresSup($nb)
324
	{
339
	{
325
		$this->quota_heures_sup =  $this->quota_heures_sup - $nb;
340
		$this->quota_heures_sup =  $this->quota_heures_sup - $nb;
326
		/*un quota heure supp negatif implique qu'il y a des heures a rattraper*/
341
		/*un quota heure supp negatif implique qu'il y a des heures a rattraper*/
327
	}
342
	}
328
 
343
 
329
	/**augmenter le nombre de jours de conges */
344
	/**augmenter le nombre de jours de conges */
330
	function augmenterCongesPayes($nb)
345
	function augmenterCongesPayes($nb)
331
	{
346
	{
332
		$this->conges_payes = $this->conges_payes + $nb;
347
		$this->conges_payes = $this->conges_payes + $nb;
333
	}
348
	}
334
 
349
 
335
	/**diminuer le nombre de jour de conges */
350
	/**diminuer le nombre de jour de conges */
336
	function diminuerCongesPayes($nb)
351
	function diminuerCongesPayes($nb)
337
	{
352
	{
338
		$this->conges_payes = $this->conges_payes - $nb;
353
		$this->conges_payes = $this->conges_payes - $nb;
339
	}
354
	}
340
}
355
}
341
 
356
 
342
/* +--Fin du code ----------------------------------------------------------------------------------------+
357
/* +--Fin du code ----------------------------------------------------------------------------------------+
343
*
358
*
344
* $Log$
359
* $Log$
345
*
360
*
346
* +-- Fin du code ----------------------------------------------------------------------------------------+
361
* +-- Fin du code ----------------------------------------------------------------------------------------+
347
*/
362
*/
348
?>
363
?>