51,6 → 51,30 |
self::verifierCreationInstance(); |
self::gererSession(); |
|
self::capturerParametres(); |
self::$parametres['url']->setRequete(array('action' => self::$parametres['action'], 'module' => self::$parametres['module'])); |
Registre::set('parametres', &self::$parametres); |
spl_autoload_register(array(get_class(), 'chargerClasse')); |
|
self::executerModule(); |
} |
|
private static function verifierCreationInstance() { |
if (empty(self::$instance)) { |
self::$instance = new AppControleur(); |
} |
} |
|
private static function gererSession() { |
if (Config::get('session_demarrage')) { |
// Attribution d'un nom à la session |
session_name(Config::get('session_nom')); |
// Démarrage de la session |
session_start(); |
} |
} |
|
private static function capturerParametres() { |
if (isset($_GET['module'])) { |
self::$parametres['module'] = $_GET['module']; |
} |
57,31 → 81,32 |
if (isset($_GET['action'])) { |
self::$parametres['action'] = $_GET['action']; |
} |
self::$parametres['url']->setRequete(array('action' => self::$parametres['action'], 'module' => self::$parametres['module'])); |
} |
|
Registre::set('parametres', &self::$parametres); |
private static function chargerClasse($nom_classe) { |
$dossiers_classes = array(Config::get('chemin_modules').strtolower(self::$parametres['module']).DS); |
foreach ($dossiers_classes as $chemin) { |
$fichier_a_tester = $chemin.$nom_classe.'.php'; |
if (file_exists($fichier_a_tester)) { |
include_once $fichier_a_tester; |
return null; |
} |
} |
} |
|
$ClasseModule = self::$parametres['module']; |
private static function executerModule() { |
$classeModule = self::$parametres['module']; |
$action = self::$parametres['action']; |
// Nous vérifions que le module existe |
if (class_exists($ClasseModule)) { |
$module = new $ClasseModule(); |
if (class_exists($classeModule)) { |
$module = new $classeModule(); |
$module->$action(); |
self::fusionnerSortie($module->getSortie()); |
} else { |
trigger_error("La classe du controleur '$ClasseModule' est introuvable."); |
trigger_error("La classe du controleur '$classeModule' est introuvable."); |
} |
} |
|
private static function gererSession() { |
if (Config::get('session_demarrage')) { |
// Attribution d'un nom à la session |
session_name(Config::get('session_nom')); |
// Démarrage de la session |
session_start(); |
} |
} |
|
/** |
* Fusionne un tableau de sortie par défaut avec le tableau renvoyé par l'action du module. |
* @param array le tableau à fusionner |
90,17 → 115,7 |
self::$parametres['sortie'] = array_merge(self::$parametres['sortie'], $sortie); |
} |
|
|
/** |
* Vérifie si l'instance de classe à été crée, si non la crée. |
*/ |
private static function verifierCreationInstance() { |
if (empty(self::$instance)) { |
self::$instance = new AppControleur(); |
} |
} |
|
/** |
* Retourne le titre du contenu de l'application. |
*/ |
public static function getMetaTitre() { |