Subversion Repositories Applications.gtt

Rev

Rev 28 | Rev 47 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 jpm 1
<?php
2
// +------------------------------------------------------------------------------------------------------+
3
// | PHP version 4.1                                                                                      |
4
// +------------------------------------------------------------------------------------------------------+
5
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
6
// +------------------------------------------------------------------------------------------------------+
7
// | This library is free software; you can redistribute it and/or                                        |
8
// | modify it under the terms of the GNU Lesser General Public                                           |
9
// | License as published by the Free Software Foundation; either                                         |
10
// | version 2.1 of the License, or (at your option) any later version.                                   |
11
// |                                                                                                      |
12
// | This library is distributed in the hope that it will be useful,                                      |
13
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
14
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
15
// | Lesser General Public License for more details.                                                      |
16
// |                                                                                                      |
17
// | You should have received a copy of the GNU Lesser General Public                                     |
18
// | License along with this library; if not, write to the Free Software                                  |
19
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
20
// +------------------------------------------------------------------------------------------------------+
21
// |@author ABDOOL RAHEEM shaheen   shaheenar50@hotmail.com                                                 |
22
// |@version 3                                                                                            |
23
 
24
// +------------------------------------------------------------------------------------------------------+
25
/*
28 jpm 26
*fichier contenant le menu principal de l'application de gestion du temps de travail
2 jpm 27
*@package gtt_general
28
//Auteur original :
29
*@author        Dorian Bannier <dbannier@aol.com>
30
//Autres auteurs :
31
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
32
*@copyright     Copyright (C) 2003 Tela-Botanica
33
*/
34
// +------------------------------------------------------------------------------------------------------+
35
// |                                            INCLUSION DE FICHIERS                                       |
36
// +------------------------------------------------------------------------------------------------------+
5 jpm 37
 
38
// Fichiers de la bibliotheque PEAR
27 jpm 39
include 'Auth/Auth.php';
40
include 'DB.php';
41
include 'gtt_config.inc.php';
42
include CHEMIN_LANGUES.'gtt_langue_fr.inc.php';
2 jpm 43
 
10 jpm 44
// Test des choix de menu a afficher
44 jpm 45
$action = 'gestion';
10 jpm 46
if (!empty($_GET['action'])) {
47
	$action = $_GET['action'];
2 jpm 48
}
10 jpm 49
if (!preg_match('/^\d+$/', $action)) {
44 jpm 50
	/**
51
	* La fonction __autoload() charge dynamiquement les classes trouvées dans le code.
52
	*
53
	* Cette fonction est appelée par php5 quand il trouve une instanciation de classe dans le code.
54
	*
55
	*@param string le nom de la classe appelée.
56
	*@return void le fichier contenant la classe doit être inclu par la fonction.
57
	*/
58
	function __autoload($classe)
59
	{
60
		foreach ($GLOBALS['_GTT_']['tab_chemin_autoload'] as $chemin) {
61
			$fichier = $chemin.$classe.'.class.php';
62
			if (file_exists($fichier)) {
63
				require_once $fichier;
64
			}
65
		}
66
	}
67
 
10 jpm 68
	// Connexion a la base de donnees
69
	$GLOBALS['db'] = DB::connect(GTT_BDD_DSN);
27 jpm 70
	if (PEAR::isError($GLOBALS['db'])) {
71
		trigger_error("Echec connexion a la base de donnees : ".$GLOBALS['db']->getMessage(), E_USER_ERROR);
10 jpm 72
	}
44 jpm 73
 
11 jpm 74
	// Récuperation d'informations générales
75
	require_once GTT_CHEMIN_CLASSE.'GestionnaireErreur.class.php';
76
	require_once GTT_CHEMIN_METIER.'aGttSql.class.php';
28 jpm 77
 
11 jpm 78
	// Utilisation du mécanisme MVC avec Squelette PHP et objet
79
	require_once GTT_CHEMIN_CLASSE.'aControlleurAction.class.php';
80
	require_once GTT_CHEMIN_CLASSE.'Registre.class.php';
81
	$nom_module_general = 'ControlleurFrontal';
82
	$fichier_module_general = GTT_CHEMIN_CLASSE.$nom_module_general.'.class.php';
44 jpm 83
	if (file_exists($fichier_module_general)) {
11 jpm 84
		require_once $fichier_module_general;
85
		$Controlleur = new $nom_module_general;
86
	}
87
	echo $Controlleur->executer($action);
10 jpm 88
} else {
44 jpm 89
	include 'HTML/QuickForm.php';
10 jpm 90
	include_once CHEMIN_CLASSES.'gtt_authentification.php';
91
	include_once CHEMIN_PRESENTATION.'gtt_fonctions_generique_affichage.php';
92
	// Connexion a la base de donnees
93
	$GLOBALS['db'] = DB::connect($GLOBALS['dsn_v3']);
94
	if (DB::isError($GLOBALS['db'])) {
95
		$GLOBALS['db']->getMessage();
96
		echo "Echec connexion a la base de donnees";
97
	}
28 jpm 98
 
99
	// Création de l'objet auth
10 jpm 100
	$params = array('dsn'=>$GLOBALS['dsn_v3'],
101
					'table'=>GEST_UTILISATEUR,
102
					'usernamecol'=>GEST_CHAMPS_EMAIL,
103
					'passwordcol'=>GEST_CHAMPS_PASSWORD,
104
					'cryptype'=>'md5',
105
					'db_fields'=>'*');
106
	$a = new Auth('DB', $params, 'afficherMenuConnexion', true);
107
	$a->setSessionname('temps_travail');
108
	$a->setExpire(3600*24*30);
109
	$a->start();
110
	echo $a->getStatus();
111
	if ($a->getAuth()) {
112
		// Récuperation de l'identifiant de la personne
113
		$mail = $a->getUserName();
114
		$utilisateur = Utilisateur::recupIDUtilisateurMail($mail);
115
		$GLOBALS['idCurrentUser'] = $utilisateur;
28 jpm 116
 
9 jpm 117
		// Utilisation de l'ancien mécanisme
118
		switch ($action) {
119
			// Cas affichage menu travail 1
120
			case GESTION_TRAVAIL :
121
				include_once CHEMIN_MENU.'gtt_menu_travail.php';
122
				include_once CHEMIN_CONTROLEUR.'gtt_controleur_travail.php';
123
	       		if (!isset($semaine)) {
124
					$semaine = date('W',mktime(0, 0, 0, date('m'), date('d') ,date('Y')));
125
				}
126
		 		if (!isset($annee)) {
127
					$annee = date('Y');
128
				}
129
	        	$text = traiterAdminTravail($_SERVER['PHP_SELF'], $semaine, $annee, $utilisateur);
130
				break;
28 jpm 131
 
9 jpm 132
			// Cas affichage du menu ajout autilisateurss 13
133
			case GESTION_ADMIN_UTILISATEUR :
134
				include_once CHEMIN_MENU.'gtt_menu_admin_utilisateur.php';
135
				include_once CHEMIN_CONTROLEUR.'gtt_controleur_admin_utilisateur.php';
136
				$text = traiterAdminUtilisateur('',0);
137
				break;
28 jpm 138
 
9 jpm 139
			// Cas editer des utilisateurs 14
140
			case GESTION_EDITER_UTILISATEUR :
141
				include_once CHEMIN_MENU.'gtt_menu_admin_utilisateur.php';
142
				include_once CHEMIN_CONTROLEUR.'gtt_controleur_admin_utilisateur.php';
143
				$text = traiterAdminUtilisateur(renvoyerDonneesUser(),1);
144
				break;
28 jpm 145
 
9 jpm 146
			// Cas afficher menu administration projet 15
147
			case GESTION_ADMIN_PROJET :
148
				include_once CHEMIN_CONTROLEUR.'gtt_controleur_admin_projet.php';
149
				$text = traiterAdminProjet();
150
				break;
28 jpm 151
 
9 jpm 152
			// Cas afficher menu administration categorie 16
153
			case GESTION_ADMIN_CATEGORIE :
154
				include_once CHEMIN_CONTROLEUR.'gtt_controleur_admin_categorie.php';
155
				$text = traiterAdminCategorie();
156
				break;
28 jpm 157
 
158
			// Cas afficher menu admin motif absence 17
9 jpm 159
			case GESTION_ADMIN_MOTIF_ABSENCE :
160
				include_once CHEMIN_CONTROLEUR.'gtt_controleur_admin_motif_absence.php';
161
				$text = traiterAdminMotif();
162
				break;
28 jpm 163
 
9 jpm 164
			// Cas afficher menu admin statut 18
165
			case GESTION_ADMIN_STATUT :
166
				include_once CHEMIN_CONTROLEUR.'gtt_controleur_admin_statut.php';
167
				$text = traiterAdminStatut();
168
				break;
28 jpm 169
 
170
			// Cas afficher admin editer frais 19
9 jpm 171
			case GESTION_ADMIN_FRAIS :
28 jpm 172
 
9 jpm 173
				$text = '';
174
				break;
28 jpm 175
 
9 jpm 176
			// Cas afficher admin editer taches 20
177
			case GESTION_ADMIN_TACHE :
178
				$text = '';
179
				break;
28 jpm 180
 
9 jpm 181
			// Cas editer preferences d'un utilisateur 21
182
			case GESTION_EDITER_PREFERENCES :
183
				include_once CHEMIN_MENU.'gtt_menu_editer_preferences.php';
184
				include_once CHEMIN_CONTROLEUR.'gtt_controleur_editer_preferences.php';
185
				$text = traiterEditerPreferences($GLOBALS['idCurrentUser']);
186
				break;
28 jpm 187
 
9 jpm 188
			// Cas deconnexion 22
189
			case GESTION_DECONNEXION :
190
				$a->logout();
191
				$text = afficherMenuConnexion();
192
				//$GLOBALS['db']->disconnect();
193
				break;
194
		}
195
		$text .= fermerBalisesFin();
196
		echo $text;
10 jpm 197
	} else {
198
		echo afficherMenuConnexion();
9 jpm 199
	}
2 jpm 200
}
5 jpm 201
?>