Accès elseif( $auth == 1 ) $root_page = 'admin'; // Pas identifié -> Identification else $root_page = 'warehouse'; // Pas localisé -> Localisation /* [2] Gestion du routage =========================================================*/ /* (1) On initialise le routeur ---------------------------------------------------------*/ $R = new Router( $_GET['url'] ); /* (3) On cree les regles de routage QUAND ON EST CONNECTE ---------------------------------------------------------*/ /* (1) Racine -> page d'accueil */ $R->get('/?', function(){ header("Location: /$root_page/"); }); /* (2) Si on est connecté */ if( $auth == 2 ){ // Liste des pages du site $page_list = [ 'dashboard', 'profile', 'machines', 'users', 'groups', 'analytics', 'settings' ]; // nomPage/arg1/arg2 -> inclusion de la page $R->get('(?:'.implode('|', $page_list).')(?:/[\w-]+)*/?', function(){ include __ROOT__.'/view/view.php'; }); /* (3) Si on est pas identifié */ }else if( $auth == 1 ) $R->get('.+', function(){ include __ROOT__.'/view/admin.php'; }); else $R->get('.+', function(){ include __ROOT__.'/view/warehouse.php'; }); /* (4) api/module/method -> Api */ $R->post('api(?:/(.*))?', function($url){ $request = ModuleRequest::fromPost($url, $_POST); $answer = $request->dispatch(); // Si c'est une réponse (et non un download) if( $answer instanceof ModuleResponse ) echo $answer->serialize(); }); /* (5) N'importe -> page d'accueil */ $R->get('.+', function(){ header("Location: /$root_page/"); }); $R->post('.+', function(){ header("Location: /$root_page/"); }); /* (3) On lance le routeur ---------------------------------------------------------*/ $R->run(); ?>