$_POST['login'], 'password' => $_POST['password'] )); $login_ans = $login->dispatch(); // Si aucune erreur, on dit qu'on vient de se connecter if( $login_ans->error == ManagerError::Success ) $_SESSION['login_status'] = 'logged'; else // Si on n'a pas les bonnes donnees $_SESSION['login_status'] = 'error'; } /* (3) Gestion de le deconnexion */ $logout_vars = isset($_POST['logout-sub']); // Si on se deconnecte if( $logout_vars ){ $logout = new ModuleRequest('user/logout'); $logout_ans = $logout->dispatch(); // Si aucune erreur, on dit qu'on vient de se deconnecter if( $logout_ans->error == ManagerError::Success ) $_SESSION['login_status'] = 'unlogged'; } /* [0] On initialise le routeur ===================================================*/ $R = new Router( $_GET['url'] ); /* [1] On cree les regles de routage ===================================================*/ // Racine -> page d'accueil $R->get('/?', function(){ header(__REDIRECT__); }); /* [2] On recupere la liste des pages du site =========================================================*/ $temporaryMenuInflater = new MenuManager(); $views = $temporaryMenuInflater->getCategories(); // nomPage/arg1/arg2 -> inclusion de la page $R->get('(?:'.implode('|', $views).')(?:/[\w-]+)*/?', function(){ include __ROOT__.'/view.php'; }); // Dispatcher $R->get('f(?:/([\w-]+))*/?', function(){ new ResourceDispatcher($_GET['url'], true); }); // Api $R->post('api(?:/(.*))?', function($url){ $request = ModuleRequest::fromPost($url, $_POST); $answer = $request->dispatch(); // Si c'est une réponse if( !is_bool($answer) ) echo $answer->serialize(); }); // N'importe -> page d'accueil $R->get('.+', function(){ header(__REDIRECT__); }); $R->post('.+', function(){ header(__REDIRECT__); }); /* [3] On lance le routeur ===================================================*/ $R->run(); ?>