Blame | Last modification | View Log | RSS feed
<?phpclass Controlleur {public function executer($action){if (preg_match('/^(.+?)(?:_(.+)|)$/', $action, $match)) {$classe_action = 'GttAction'.ucfirst($match[1]);}$tab_actions = array();if (isset($match[2])) {preg_match_all('/(.+)(?:_|$)/', $match[2], $match_actions);$tab_actions = $match_actions[1];}$fichier_action = GTT_CHEMIN_ACTION.$classe_action.'.class.php';if (file_exists($fichier_action)) {require_once $fichier_action;$Action = new $classe_action;foreach ($tab_actions as $action) {// Vérification des données POST ou GET avant l'appel de l'actionif (isset($_POST) || isset($_GET)) {$methode_verif = 'verifier'.ucfirst($action);if (method_exists($Action, $methode_verif)) {// Méthode "vérifier" spécifique à une action$Action->$methode_verif($Action->getResultat());}}// Execution de l'action$Action->setSuivant(ucfirst($action));}$Action->demarrer();$aso_principal['principal']['contenu_principal'] = $this->rendre($Action->getResultat());$Resultats = $Action->getResultat();$aso_principal['principal']['titre'] = $Resultats->getTitre();$Resultats->setEspaces(array());$Resultats->setSquelettes(array());$Resultats->setDonnees(array());$Resultats->ajouterEspace('Principal', 'principal');$Resultats->ajouterSquelette('principal', 'principal.tpl.html');$Resultats->ajouterDonnee('principal', $aso_principal['principal']);return $this->rendre($Resultats);}}public function rendre(Resultat $Resultats){$contenu = '';foreach ($Resultats->getEspaces() as $espace_de_nom) {ob_start();extract($GLOBALS['_GTT_']['i18n']['general'], EXTR_PREFIX_ALL, 'i18n_general');extract($Resultats->getDonnees($espace_de_nom));include_once GTT_CHEMIN_PRESENTATION.$Resultats->getSquelettes($espace_de_nom);$contenu .= ob_get_contents();ob_end_clean();}return $contenu;}}?>