Subversion Repositories Applications.gtt

Rev

Rev 155 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 155 Rev 170
Line 1... Line 1...
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_TOUS = 'UTILISATEUR_TOUS';
50
	const GU_ID = 'UTILISATEUR_ID';
50
	const GU_ID = 'UTILISATEUR_ID';
51
	const GU_ID_MAX = 'UTILISATEUR_ID_MAX';
51
	const GU_ID_MAX = 'UTILISATEUR_ID_MAX';
52
	const GU_CE_STATUT = 'UTILISATEUR_CE_STATUT';
52
	const GU_CE_STATUT = 'UTILISATEUR_CE_STATUT';
53
	const GU_MAIL = 'UTILISATEUR_MAIL';
53
	const GU_MAIL = 'UTILISATEUR_MAIL';
54
	const GU_TOUS_AFFICHABLE = 'UTILISATEUR_TOUS_AFFICHABLE';
54
	const GU_TOUS_AFFICHABLE = 'UTILISATEUR_TOUS_AFFICHABLE';
55
	const GU_ADMIN = 'UTILISATEUR_ADMIN';
55
	const GU_ADMIN = 'UTILISATEUR_ADMIN';
56
 
56
 
57
	/*** Attributs : */
57
	/*** Attributs : */
58
	private $id_utilisateur;
58
	private $id_utilisateur;
59
	private $ce_statut = 0;
59
	private $ce_statut = 0;
60
	private $nom;
60
	private $nom;
61
	private $prenom;
61
	private $prenom;
62
	private $password;
62
	private $password;
63
	private $email;
63
	private $email;
64
	private $telephone;
64
	private $telephone;
65
	private $adresse;
65
	private $adresse;
66
	private $code_postal;
66
	private $code_postal;
67
	private $ville;
67
	private $ville;
68
	private $quota_heures_supp = 0;
68
	private $quota_heures_supp = 0;
69
	private $conges_payes = 0;
69
	private $conges_payes = 0;
70
	private $temps_de_travail_jour = 7;
70
	private $temps_de_travail_jour = 7;
71
	private $temps_de_travail_mois = 0;
71
	private $temps_de_travail_mois = 0;
72
	private $tdt_lundi = 0;
72
	private $tdt_lundi = 0;
73
	private $tdt_mardi = 0;
73
	private $tdt_mardi = 0;
74
	private $tdt_mercredi = 0;
74
	private $tdt_mercredi = 0;
75
	private $tdt_jeudi = 0;
75
	private $tdt_jeudi = 0;
76
	private $tdt_vendredi = 0;
76
	private $tdt_vendredi = 0;
77
	private $tdt_samedi = 0;
77
	private $tdt_samedi = 0;
78
	private $tdt_dimanche = 0;
78
	private $tdt_dimanche = 0;
79
	private $mark_admin = 0;
79
	private $mark_admin = 0;
80
	private $mark_recapitulatif = 1;
80
	private $mark_recapitulatif = 1;
81
	private $notes;
81
	private $notes;
82
 
82
 
83
	/*** Aggregations : */
83
	/*** Aggregations : */
84
 
84
 
85
	/*** Constructeur : */
85
	/*** Constructeur : */
86
	public function __construct($cmd = null, $parametres = null)
86
	public function __construct($cmd = null, $parametres = null)
87
	{
87
	{
88
		$this->dao_table_nom = 'gestion_utilisateur';
88
		$this->dao_table_nom = GTT_BDD_PREFIXE . 'gestion_utilisateur';
89
		$this->dao_correspondance = array(
89
		$this->dao_correspondance = array(
90
			'gu_id_utilisateur'	=> 'id_utilisateur',
90
			'gu_id_utilisateur'	=> 'id_utilisateur',
91
			'gu_ce_statut'	=> 'ce_statut',
91
			'gu_ce_statut'	=> 'ce_statut',
92
			'gu_nom'	=> 'nom',
92
			'gu_nom'	=> 'nom',
93
			'gu_prenom'	=> 'prenom',
93
			'gu_prenom'	=> 'prenom',
94
			'gu_password'	=> 'password',
94
			'gu_password'	=> 'password',
Line 109... Line 109...
109
			'gu_tdt_samedi'	=> 'tdt_samedi',
109
			'gu_tdt_samedi'	=> 'tdt_samedi',
110
			'gu_tdt_dimanche'	=> 'tdt_dimanche',
110
			'gu_tdt_dimanche'	=> 'tdt_dimanche',
111
			'gu_mark_admin'	=> 'mark_admin',
111
			'gu_mark_admin'	=> 'mark_admin',
112
			'gu_mark_recapitulatif'	=> 'mark_recapitulatif',
112
			'gu_mark_recapitulatif'	=> 'mark_recapitulatif',
113
			'gu_notes'	=> 'notes');
113
			'gu_notes'	=> 'notes');
114
 
114
 
115
		// Si l'on veut remplir l'objet à la création on lance la requete correspondante
115
		// Si l'on veut remplir l'objet à la création on lance la requete correspondante
116
		if (!is_null($cmd)) {
116
		if (!is_null($cmd)) {
117
			$this->consulter($cmd, $parametres, true);
117
			$this->consulter($cmd, $parametres, true);
118
		}
118
		}
119
	}
119
	}
120
 
120
 
121
	/*** Accesseurs : */
121
	/*** Accesseurs : */
122
	// Id Utilisateur
122
	// Id Utilisateur
123
	public function getIdUtilisateur()
123
	public function getIdUtilisateur()
124
	{
124
	{
125
		return $this->id_utilisateur;
125
		return $this->id_utilisateur;
126
	}
126
	}
127
	public function setIdUtilisateur( $iu )
127
	public function setIdUtilisateur( $iu )
128
	{
128
	{
129
		$this->id_utilisateur = $iu;
129
		$this->id_utilisateur = $iu;
130
	}
130
	}
131
 
131
 
132
	// Gus Id Utilisateur Statut
132
	// Gus Id Utilisateur Statut
133
	public function getCeStatut()
133
	public function getCeStatut()
134
	{
134
	{
135
		return $this->ce_statut;
135
		return $this->ce_statut;
136
	}
136
	}
137
	public function setCeStatut( $cs )
137
	public function setCeStatut( $cs )
138
	{
138
	{
139
		$this->ce_statut = $cs;
139
		$this->ce_statut = $cs;
140
	}
140
	}
141
 
141
 
142
	// Nom
142
	// Nom
143
	public function getNom()
143
	public function getNom()
144
	{
144
	{
145
		return $this->nom;
145
		return $this->nom;
146
	}
146
	}
147
	public function setNom( $n )
147
	public function setNom( $n )
148
	{
148
	{
149
		if (!is_null($n)) {
149
		if (!is_null($n)) {
150
			$this->nom = strtoupper($n);
150
			$this->nom = strtoupper($n);
151
		} else {
151
		} else {
152
			$this->nom = $n;
152
			$this->nom = $n;
153
		}
153
		}
154
	}
154
	}
155
 
155
 
156
	// Prenom
156
	// Prenom
157
	public function getPrenom()
157
	public function getPrenom()
158
	{
158
	{
159
		return $this->prenom;
159
		return $this->prenom;
160
	}
160
	}
161
	public function setPrenom( $p )
161
	public function setPrenom( $p )
162
	{
162
	{
163
		$this->prenom = $p;
163
		$this->prenom = $p;
164
	}
164
	}
165
 
165
 
166
	// Password
166
	// Password
167
	public function getPassword()
167
	public function getPassword()
168
	{
168
	{
169
		return $this->password;
169
		return $this->password;
170
	}
170
	}
171
	public function setPassword( $p )
171
	public function setPassword( $p )
172
	{
172
	{
173
		if (!is_null($p)) {
173
		if (!is_null($p)) {
174
			$this->password = md5($p);
174
			$this->password = md5($p);
175
		} else {
175
		} else {
176
			$this->password = $p;
176
			$this->password = $p;
177
		}
177
		}
178
	}
178
	}
179
 
179
 
180
	// Email
180
	// Email
181
	public function getEmail()
181
	public function getEmail()
182
	{
182
	{
183
		return $this->email;
183
		return $this->email;
184
	}
184
	}
185
	public function setEmail( $e )
185
	public function setEmail( $e )
186
	{
186
	{
187
		$this->email = $e;
187
		$this->email = $e;
188
	}
188
	}
189
 
189
 
190
	// Telephone
190
	// Telephone
191
	public function getTelephone()
191
	public function getTelephone()
192
	{
192
	{
193
		return $this->telephone;
193
		return $this->telephone;
194
	}
194
	}
195
	public function setTelephone( $t )
195
	public function setTelephone( $t )
196
	{
196
	{
197
		$this->telephone = (string) $t;
197
		$this->telephone = (string) $t;
198
	}
198
	}
199
 
199
 
200
	// Adresse
200
	// Adresse
201
	public function getAdresse()
201
	public function getAdresse()
202
	{
202
	{
203
		return $this->adresse;
203
		return $this->adresse;
204
	}
204
	}
205
	public function setAdresse( $a )
205
	public function setAdresse( $a )
206
	{
206
	{
207
		$this->adresse = $a;
207
		$this->adresse = $a;
208
	}
208
	}
209
 
209
 
210
	// Code Postal
210
	// Code Postal
211
	public function getCodePostal()
211
	public function getCodePostal()
212
	{
212
	{
213
		return $this->code_postal;
213
		return $this->code_postal;
214
	}
214
	}
215
	public function setCodePostal( $cp )
215
	public function setCodePostal( $cp )
216
	{
216
	{
217
		$this->code_postal = $cp;
217
		$this->code_postal = $cp;
218
	}
218
	}
219
 
219
 
220
	// Ville
220
	// Ville
221
	public function getVille()
221
	public function getVille()
222
	{
222
	{
223
		return $this->ville;
223
		return $this->ville;
224
	}
224
	}
225
	public function setVille( $v )
225
	public function setVille( $v )
226
	{
226
	{
227
		$this->ville = $v;
227
		$this->ville = $v;
228
	}
228
	}
229
 
229
 
230
	// Quota Heures Supp
230
	// Quota Heures Supp
231
	public function getQuotaHeuresSupp()
231
	public function getQuotaHeuresSupp()
232
	{
232
	{
233
		return $this->quota_heures_supp;
233
		return $this->quota_heures_supp;
234
	}
234
	}
235
	public function setQuotaHeuresSupp( $qhs )
235
	public function setQuotaHeuresSupp( $qhs )
236
	{
236
	{
237
		$this->quota_heures_supp = $qhs;
237
		$this->quota_heures_supp = $qhs;
238
	}
238
	}
239
 
239
 
240
	// Conges Payes
240
	// Conges Payes
241
	public function getCongesPayes()
241
	public function getCongesPayes()
242
	{
242
	{
243
		return $this->conges_payes;
243
		return $this->conges_payes;
244
	}
244
	}
245
	public function setCongesPayes( $cp )
245
	public function setCongesPayes( $cp )
246
	{
246
	{
247
		$this->conges_payes = $cp;
247
		$this->conges_payes = $cp;
248
	}
248
	}
249
 
249
 
250
	// Temps De Travail Jour
250
	// Temps De Travail Jour
251
	public function getTempsDeTravailJour()
251
	public function getTempsDeTravailJour()
252
	{
252
	{
253
		return $this->temps_de_travail_jour;
253
		return $this->temps_de_travail_jour;
254
	}
254
	}
255
	public function setTempsDeTravailJour( $tdt )
255
	public function setTempsDeTravailJour( $tdt )
256
	{
256
	{
257
		$this->temps_de_travail_jour = $tdt;
257
		$this->temps_de_travail_jour = $tdt;
258
	}
258
	}
259
 
259
 
260
	// Temps De Travail Mois
260
	// Temps De Travail Mois
261
	public function getTempsDeTravailMois()
261
	public function getTempsDeTravailMois()
262
	{
262
	{
263
		return $this->temps_de_travail_mois;
263
		return $this->temps_de_travail_mois;
264
	}
264
	}
Line 359... Line 359...
359
 
359
 
360
		return $tdt;
360
		return $tdt;
Line 361... Line 361...
361
	}
361
	}
362
 
362
 
363
	// Mark Admin
363
	// Mark Admin
364
	public function getMarkAdmin()
364
	public function getMarkAdmin()
365
	{
365
	{
366
		return $this->mark_admin;
366
		return $this->mark_admin;
367
	}
367
	}
368
	public function setMarkAdmin( $ma )
368
	public function setMarkAdmin( $ma )
369
	{
369
	{
370
		$this->mark_admin = $ma;
370
		$this->mark_admin = $ma;
371
	}
371
	}
372
 
372
 
373
	// Mark Recapitulatif
373
	// Mark Recapitulatif
374
	public function getMarkRecapitulatif()
374
	public function getMarkRecapitulatif()
375
	{
375
	{
376
		return $this->mark_recapitulatif;
376
		return $this->mark_recapitulatif;
377
	}
377
	}
378
	public function setMarkRecapitulatif( $mr )
378
	public function setMarkRecapitulatif( $mr )
379
	{
379
	{
380
		$this->mark_recapitulatif = $mr;
380
		$this->mark_recapitulatif = $mr;
381
	}
381
	}
382
 
382
 
383
	// Notes
383
	// Notes
384
	public function getNotes()
384
	public function getNotes()
385
	{
385
	{
386
		return $this->notes;
386
		return $this->notes;
387
	}
387
	}
388
	public function setNotes( $n )
388
	public function setNotes( $n )
389
	{
389
	{
390
		$this->notes = $n;
390
		$this->notes = $n;
391
	}
391
	}
392
 
392
 
393
	/*** Méthodes : */
393
	/*** Méthodes : */
394
 
394
 
395
	/**
395
	/**
396
	* Consulter la table gestion_utilisateur.
396
	* Consulter la table gestion_utilisateur.
397
	* @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.
397
	* @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.
398
	*/
398
	*/
399
	public function consulter($cmd = '', $parametres = array(), $instancier = false)
399
	public function consulter($cmd = '', $parametres = array(), $instancier = false)
400
	{
400
	{
401
		switch ($cmd) {
401
		switch ($cmd) {
402
			case Utilisateur::GU_TOUS:
402
			case Utilisateur::GU_TOUS:
403
				$requete = 	'SELECT * '.
403
				$requete = 	'SELECT * '.
404
							'FROM gestion_utilisateur '.
404
							'FROM ' . GTT_BDD_PREFIXE . 'gestion_utilisateur '.
405
							'ORDER BY gu_nom, gu_prenom ASC';
405
							'ORDER BY gu_nom, gu_prenom ASC';
406
				break;
406
				break;
407
			case Utilisateur::GU_ID:
407
			case Utilisateur::GU_ID:
408
				$requete = 	'SELECT * '.
408
				$requete = 	'SELECT * '.
409
							'FROM gestion_utilisateur '.
409
							'FROM ' . GTT_BDD_PREFIXE . 'gestion_utilisateur '.
410
							'WHERE gu_id_utilisateur = #0 ';
410
							'WHERE gu_id_utilisateur = #0 ';
411
				break;
411
				break;
412
			case Utilisateur::GU_ID_MAX:
412
			case Utilisateur::GU_ID_MAX:
413
				$requete =	'SELECT MAX(gu_id_utilisateur) AS gu_id_utilisateur '.
413
				$requete =	'SELECT MAX(gu_id_utilisateur) AS gu_id_utilisateur '.
414
							'FROM gestion_utilisateur ';
414
							'FROM ' . GTT_BDD_PREFIXE . 'gestion_utilisateur ';
415
				break;
415
				break;
416
			case Utilisateur::GU_CE_STATUT:
416
			case Utilisateur::GU_CE_STATUT:
417
				$requete =	'SELECT * '.
417
				$requete =	'SELECT * '.
418
							'FROM gestion_utilisateur '.
418
							'FROM ' . GTT_BDD_PREFIXE . 'gestion_utilisateur '.
419
							'WHERE gu_ce_statut = "#0" ';
419
							'WHERE gu_ce_statut = "#0" ';
420
				break;
420
				break;
421
			case Utilisateur::GU_MAIL:
421
			case Utilisateur::GU_MAIL:
422
				$requete =	'SELECT * '.
422
				$requete =	'SELECT * '.
423
							'FROM gestion_utilisateur '.
423
							'FROM ' . GTT_BDD_PREFIXE . 'gestion_utilisateur '.
424
							'WHERE gu_email = "#0" ';
424
							'WHERE gu_email = "#0" ';
425
				break;
425
				break;
426
			case Utilisateur::GU_TOUS_AFFICHABLE:
426
			case Utilisateur::GU_TOUS_AFFICHABLE:
427
				$requete = 	'SELECT * '.
427
				$requete = 	'SELECT * '.
428
							'FROM gestion_utilisateur '.
428
							'FROM ' . GTT_BDD_PREFIXE . 'gestion_utilisateur '.
429
							'WHERE gu_mark_recapitulatif = 0 '.
429
							'WHERE gu_mark_recapitulatif = 0 '.
430
							'ORDER BY gu_nom, gu_prenom ASC';
430
							'ORDER BY gu_nom, gu_prenom ASC';
431
				break;
431
				break;
432
			case Utilisateur::GU_ADMIN:
432
			case Utilisateur::GU_ADMIN:
433
				$requete = 	'SELECT * '.
433
				$requete = 	'SELECT * '.
434
							'FROM gestion_utilisateur '.
434
							'FROM ' . GTT_BDD_PREFIXE . 'gestion_utilisateur '.
435
							'WHERE gu_mark_admin = 1 ';
435
							'WHERE gu_mark_admin = 1 ';
436
				break;
436
				break;
437
 
437
 
438
			default :
438
			default :
439
				$message = 'Commande '.$cmd.'inconnue!';
439
				$message = 'Commande '.$cmd.'inconnue!';
440
				$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
440
				$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
441
    			trigger_error($e, E_USER_ERROR);
441
    			trigger_error($e, E_USER_ERROR);
442
		}
442
		}
Line 443... Line 443...
443
		return parent::consulter($requete, $parametres, $instancier);
443
		return parent::consulter($requete, $parametres, $instancier);
444
	}
444
	}
445
 
445
 
446
	public function supprimer()
446
	public function supprimer()
447
	{
447
	{
448
		$requete = 	'DELETE FROM gestion_utilisateur '.
448
		$requete = 	'DELETE FROM ' . GTT_BDD_PREFIXE . 'gestion_utilisateur '.
Line 449... Line 449...
449
					'WHERE gu_id_utilisateur = '.$this->getIdUtilisateur();
449
					'WHERE gu_id_utilisateur = '.$this->getIdUtilisateur();
Line 480... Line 480...
480
 
480
 
481
	/**diminuer le nombre de jour de conges */
481
	/**diminuer le nombre de jour de conges */
482
	public function diminuerCongesPayes($nb)
482
	public function diminuerCongesPayes($nb)
483
	{
483
	{
484
		$this->conges_payes = $this->conges_payes -  abs($nb);
484
		$this->conges_payes = $this->conges_payes -  abs($nb);
485
	}
485
	}
486
}
486
}
487
 
487
 
488
/* +--Fin du code ----------------------------------------------------------------------------------------+
488
/* +--Fin du code ----------------------------------------------------------------------------------------+
489
*
489
*
490
* $Log$
490
* $Log$
491
*
491
*
492
* +-- Fin du code ----------------------------------------------------------------------------------------+
492
* +-- Fin du code ----------------------------------------------------------------------------------------+
493
*/
493
*/
494
?>
494
?>