Subversion Repositories Applications.gtt

Rev

Rev 28 | Rev 47 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 28 Rev 44
Line 36... Line 36...
36
// +------------------------------------------------------------------------------------------------------+
36
// +------------------------------------------------------------------------------------------------------+
Line 37... Line 37...
37
 
37
 
38
// Fichiers de la bibliotheque PEAR
38
// Fichiers de la bibliotheque PEAR
39
include 'Auth/Auth.php';
39
include 'Auth/Auth.php';
40
include 'DB.php';
-
 
41
include 'HTML/QuickForm.php';
40
include 'DB.php';
42
include 'gtt_config.inc.php';
41
include 'gtt_config.inc.php';
Line 43... Line 42...
43
include CHEMIN_LANGUES.'gtt_langue_fr.inc.php';
42
include CHEMIN_LANGUES.'gtt_langue_fr.inc.php';
44
 
43
 
45
// Test des choix de menu a afficher
44
// Test des choix de menu a afficher
46
$action = 1;
45
$action = 'gestion';
47
if (!empty($_GET['action'])) {
46
if (!empty($_GET['action'])) {
48
	$action = $_GET['action'];
47
	$action = $_GET['action'];
-
 
48
}
-
 
49
if (!preg_match('/^\d+$/', $action)) {
-
 
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
		}
49
}
66
	}
50
if (!preg_match('/^\d+$/', $action)) {
67
 
51
	// Connexion a la base de donnees
68
	// Connexion a la base de donnees
52
	$GLOBALS['db'] = DB::connect(GTT_BDD_DSN);
69
	$GLOBALS['db'] = DB::connect(GTT_BDD_DSN);
53
	if (PEAR::isError($GLOBALS['db'])) {
70
	if (PEAR::isError($GLOBALS['db'])) {
54
		trigger_error("Echec connexion a la base de donnees : ".$GLOBALS['db']->getMessage(), E_USER_ERROR);
-
 
55
	}
-
 
56
	$params = array('dsn' => GTT_BDD_DSN,
-
 
57
					'table' => 'gestion_utilisateur',
-
 
58
					'usernamecol' => 'gu_email',
-
 
59
					'passwordcol' => 'gu_password',
-
 
60
					'cryptype' => 'md5',
-
 
61
					'db_fields' => '*');
-
 
62
	// Création de l'objet auth
-
 
63
	$a = new Auth('DB', $params, null, false);
-
 
64
	$a->setSessionname(GTT_AUTH_SESSION_NOM);
-
 
65
	$a->setExpire(time()+(int)GTT_AUTH_SESSION_DUREE);
-
 
66
	$a->start();
-
 
67
	setcookie(session_name(),session_id(), time()+(int)GTT_AUTH_SESSION_DUREE, "/");
-
 
68
	if (!$a->getAuth()) {
-
 
69
		$action = GTT_ACTION_DECONNEXION;
71
		trigger_error("Echec connexion a la base de donnees : ".$GLOBALS['db']->getMessage(), E_USER_ERROR);
70
	}
72
	}
71
	
73
 
72
	// Récuperation d'informations générales
74
	// Récuperation d'informations générales
73
	require_once GTT_CHEMIN_CLASSE.'GestionnaireErreur.class.php';
-
 
74
	require_once GTT_CHEMIN_METIER.'aGttSql.class.php';
-
 
75
	require_once GTT_CHEMIN_METIER.'Utilisateur.class.php';
-
 
Line 76... Line 75...
76
	$GLOBALS['_GTT_']['Utilisateur'] = new Utilisateur(Utilisateur::GU_MAIL, array($a->getUserName()));
75
	require_once GTT_CHEMIN_CLASSE.'GestionnaireErreur.class.php';
77
	$GLOBALS['_GTT_']['auth'] = $a;
76
	require_once GTT_CHEMIN_METIER.'aGttSql.class.php';
78
 
77
 
79
	// Utilisation du mécanisme MVC avec Squelette PHP et objet
-
 
80
	require_once GTT_CHEMIN_CLASSE.'aControlleurAction.class.php';
-
 
81
	require_once GTT_CHEMIN_CLASSE.'Registre.class.php';
-
 
82
	$module = 'Gestion';
-
 
83
	if (isset($_GET['module']) && !empty($_GET['module'])) {
-
 
84
		$module = $_GET['module'];
-
 
85
	}
78
	// Utilisation du mécanisme MVC avec Squelette PHP et objet
86
	$nom_module = 'GttControlleur'.$module;
79
	require_once GTT_CHEMIN_CLASSE.'aControlleurAction.class.php';
87
	$fichier_module = GTT_CHEMIN_MODULE.$nom_module.'.class.php';
-
 
88
	$nom_module_general = 'ControlleurFrontal';
-
 
89
	$fichier_module_general = GTT_CHEMIN_CLASSE.$nom_module_general.'.class.php';
-
 
90
	if (file_exists($fichier_module)) {
80
	require_once GTT_CHEMIN_CLASSE.'Registre.class.php';
91
		require_once $fichier_module;
81
	$nom_module_general = 'ControlleurFrontal';
92
		$Controlleur = new $nom_module;
82
	$fichier_module_general = GTT_CHEMIN_CLASSE.$nom_module_general.'.class.php';
93
	} else if (file_exists($fichier_module_general)) {
83
	if (file_exists($fichier_module_general)) {
94
		require_once $fichier_module_general;
84
		require_once $fichier_module_general;
95
		$Controlleur = new $nom_module_general;
85
		$Controlleur = new $nom_module_general;
-
 
86
	}
96
	}
87
	echo $Controlleur->executer($action);
97
	echo $Controlleur->executer($action);
88
} else {
98
} else {
89
	include 'HTML/QuickForm.php';
99
	include_once CHEMIN_CLASSES.'gtt_authentification.php';
90
	include_once CHEMIN_CLASSES.'gtt_authentification.php';
100
	include_once CHEMIN_PRESENTATION.'gtt_fonctions_generique_affichage.php';
91
	include_once CHEMIN_PRESENTATION.'gtt_fonctions_generique_affichage.php';