Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 40 → Rev 41

/trunk/controleurs/AppControleur.php
24,7 → 24,7
private static $instance = null;
/**
* Paramètres pour les collections
* Paramètres d'AppControleur
*/
private static $parametres = array();
51,9 → 51,10
self::verifierCreationInstance();
self::gererSession();
self::nettoyerGet();
self::capturerParametres();
self::$parametres['url']->setRequete(array('action' => self::$parametres['action'], 'module' => self::$parametres['module']));
Registre::set('parametres', &self::$parametres);
self::initialiserRegistre();
spl_autoload_register(array(get_class(), 'chargerClasse'));
self::executerModule();
74,7 → 75,17
}
}
private static function nettoyerGet() {
foreach ($_GET as $cle => $valeur) {
$verifier = array('NULL', "\n", "\r", "\\", "'", '"', "\x00", "\x1a", ';');
$_GET[$cle] = strip_tags(str_replace($verifier, '', $valeur));
}
}
private static function capturerParametres() {
if (isset($_GET['referentiel'])) {
self::$parametres['referentiel'] = $_GET['referentiel'];
}
if (isset($_GET['module'])) {
self::$parametres['module'] = $_GET['module'];
}
83,6 → 94,14
}
}
private static function initialiserRegistre() {
self::$parametres['url']->setRequete(array('action' => self::$parametres['action'], 'module' => self::$parametres['module']));
Registre::set('eflore.urlCourrante', &self::$parametres['url']);
Registre::set('parametres.referentiel', &self::$parametres['referentiel']);
Registre::set('parametres.module', &self::$parametres['module']);
Registre::set('parametres.action', &self::$parametres['action']);
}
private static function chargerClasse($nom_classe) {
$dossiers_classes = array(Config::get('chemin_modules').self::getNomDossierModuleCourrant().DS);
foreach ($dossiers_classes as $chemin) {
126,10 → 145,27
// Nous vérifions que le module existe
if (class_exists($classeModule)) {
$module = new $classeModule();
$module->$action();
// Chargement Entete et Pied de page par défaut
$module->chargerEnteteDePage();
$module->chargerPiedDePage();
// Initialisation du module demandé
if (method_exists($module, 'initialiser')) {
$module->initialiser();
}
// Lancement de l'action demandé du module chargé
if (method_exists($module, $action)) {
$module->$action();
} else {
$m = "La méthode '$action' du controleur '$classeModule' est introuvable.";
trigger_error($m, E_USER_ERROR);
}
self::fusionnerSortie($module->getSortie());
} else {
trigger_error("La classe du controleur '$classeModule' est introuvable.");
$m = "La classe du controleur '$classeModule' est introuvable.";
trigger_error($m, E_USER_ERROR);
}
}