$_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'; // Si on n'a pas les bonnes donnees else $_SESSION['login_status'] = 'error'; } /* (3) Log-Out management */ $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'; } /* [3] On initialise le routeur ===================================================*/ /* (1) New Router */ $R = new Router( $_GET['url'] ); /* (2) path/to/resource/filename@0hexa0.svg -> update svg content */ $R->get('(.+)@([a-f0-9]{6})(\.svg)', function($matches){ $path = __PUBLIC__.'/'.$matches[0].$matches[2]; header('Content-Type: image/svg+xml; charset=utf-8'); // On crée la partie ajoutée $stylesheet = "\n"; // On récupère le fichier $file = file_get_contents($path); // On ajoute le style $file = str_replace('', $stylesheet, $file); echo $file; }); /* [4] / -> homepage ===================================================*/ // Racine -> page d'accueil $R->get('/?', function(){ header(__REDIRECT__); }); /* [5] Manage websites pages =========================================================*/ $temporaryMenuInflater = new MenuManager(); $views = $temporaryMenuInflater->getCategories(); // pagename/arg1/arg2 -> include view $R->get('(?:'.implode('|', $views).')(?:/[\w-]+)*/?', function(){ include __PUBLIC__.'/view.php'; }); /* [6] host.xxx/api/{module}/{method} -> api =========================================================*/ $R->post('api(?:/(.*))?', function($url){ $http = new HttpRequest(); $_POST = $http->POST(); $request = ModuleRequest::fromPost($url, $_POST); $answer = $request->dispatch(); // Si c'est une réponse if( $answer instanceof ModuleResponse ) echo $answer->serialize(); }); /* [7] Any other URL -> homepage =========================================================*/ $R->get('.+', function(){ header(__REDIRECT__); }); $R->post('.+', function(){ header(__REDIRECT__); }); /* [8] Launch Router ===================================================*/ $R->run(); ?>