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);
}
}
/trunk/controleurs/aControleur.php
80,6 → 80,7
 
/**
* Execute l'action d'un module donnée et fusionne le résultat avec le tableau de sortie.
* Permet à une action d'un module donnée de charger le résultat d'une autre action de module.
*/
protected function executerAction($ClasseModule, $action) {
$module = new $ClasseModule();
97,13 → 98,38
}
/**
* Charge un squelette de vue depuis l'emplacement commune.
* @param String $tpl le nom du squelette à charger sans l'extenssion de fichier.
* @param Array $donnees les données à passer au squelette PHP.
*/
private function getVueCommune($tpl, $donnees) {
$cheminOrigine = $this->getCheminSquelette();
$this->setCheminSquelette(Config::get('chemin_squelettes'));
$vue = $this->getVue($tpl, $donnees);
$this->setCheminSquelette($cheminOrigine);
return $vue;
}
/**
* Pour mutualiser la création du pied de page de l'application, sa gestion est gérée dans cette classe.
*/
protected function chargerPiedDePage() {
public function chargerEnteteDePage() {
$donnees['appli'] = Framework::getInfoAppli();
$donnees['i18n'] = array_merge(I18n::get('Entete'), I18n::get('General'));
$donnees['referentiel_titre'] = I18n::get('Referentiels-titres.'.Registre::get('parametres.referentiel'));
$this->setSortie(self::RENDU_TETE, $this->getVueCommune('entete_page', $donnees));
}
/**
* Pour mutualiser la création du pied de page de l'application, sa gestion est gérée dans cette classe.
*/
public function chargerPiedDePage() {
$donnees['appli'] = Framework::getInfoAppli();
$donnees['i18n'] = array_merge(I18n::get('Pied'), I18n::get('General'));
$donnees['courrielContact'] = Config::get('courriel_contact');
$this->setSortie(self::RENDU_PIED, $this->getVue('pied_page', $donnees));
$this->setSortie(self::RENDU_PIED, $this->getVueCommune('pied_page', $donnees));
}
protected function obtenirUrlRecherche($txt = null) {