38,64 → 38,55 |
// Fichiers de la bibliotheque PEAR |
include 'Auth/Auth.php'; |
include 'DB.php'; |
include 'HTML/QuickForm.php'; |
include 'gtt_config.inc.php'; |
include CHEMIN_LANGUES.'gtt_langue_fr.inc.php'; |
|
// Test des choix de menu a afficher |
$action = 1; |
$action = 'gestion'; |
if (!empty($_GET['action'])) { |
$action = $_GET['action']; |
} |
if (!preg_match('/^\d+$/', $action)) { |
/** |
* La fonction __autoload() charge dynamiquement les classes trouvées dans le code. |
* |
* Cette fonction est appelée par php5 quand il trouve une instanciation de classe dans le code. |
* |
*@param string le nom de la classe appelée. |
*@return void le fichier contenant la classe doit être inclu par la fonction. |
*/ |
function __autoload($classe) |
{ |
foreach ($GLOBALS['_GTT_']['tab_chemin_autoload'] as $chemin) { |
$fichier = $chemin.$classe.'.class.php'; |
if (file_exists($fichier)) { |
require_once $fichier; |
} |
} |
} |
|
// Connexion a la base de donnees |
$GLOBALS['db'] = DB::connect(GTT_BDD_DSN); |
if (PEAR::isError($GLOBALS['db'])) { |
trigger_error("Echec connexion a la base de donnees : ".$GLOBALS['db']->getMessage(), E_USER_ERROR); |
} |
$params = array('dsn' => GTT_BDD_DSN, |
'table' => 'gestion_utilisateur', |
'usernamecol' => 'gu_email', |
'passwordcol' => 'gu_password', |
'cryptype' => 'md5', |
'db_fields' => '*'); |
// Création de l'objet auth |
$a = new Auth('DB', $params, null, false); |
$a->setSessionname(GTT_AUTH_SESSION_NOM); |
$a->setExpire(time()+(int)GTT_AUTH_SESSION_DUREE); |
$a->start(); |
setcookie(session_name(),session_id(), time()+(int)GTT_AUTH_SESSION_DUREE, "/"); |
if (!$a->getAuth()) { |
$action = GTT_ACTION_DECONNEXION; |
} |
|
|
// Récuperation d'informations générales |
require_once GTT_CHEMIN_CLASSE.'GestionnaireErreur.class.php'; |
require_once GTT_CHEMIN_METIER.'aGttSql.class.php'; |
require_once GTT_CHEMIN_METIER.'Utilisateur.class.php'; |
$GLOBALS['_GTT_']['Utilisateur'] = new Utilisateur(Utilisateur::GU_MAIL, array($a->getUserName())); |
$GLOBALS['_GTT_']['auth'] = $a; |
|
// Utilisation du mécanisme MVC avec Squelette PHP et objet |
require_once GTT_CHEMIN_CLASSE.'aControlleurAction.class.php'; |
require_once GTT_CHEMIN_CLASSE.'Registre.class.php'; |
$module = 'Gestion'; |
if (isset($_GET['module']) && !empty($_GET['module'])) { |
$module = $_GET['module']; |
} |
$nom_module = 'GttControlleur'.$module; |
$fichier_module = GTT_CHEMIN_MODULE.$nom_module.'.class.php'; |
$nom_module_general = 'ControlleurFrontal'; |
$fichier_module_general = GTT_CHEMIN_CLASSE.$nom_module_general.'.class.php'; |
if (file_exists($fichier_module)) { |
require_once $fichier_module; |
$Controlleur = new $nom_module; |
} else if (file_exists($fichier_module_general)) { |
if (file_exists($fichier_module_general)) { |
require_once $fichier_module_general; |
$Controlleur = new $nom_module_general; |
} |
echo $Controlleur->executer($action); |
} else { |
include 'HTML/QuickForm.php'; |
include_once CHEMIN_CLASSES.'gtt_authentification.php'; |
include_once CHEMIN_PRESENTATION.'gtt_fonctions_generique_affichage.php'; |
// Connexion a la base de donnees |