SMMP/index.php

82 lines
3.3 KiB
PHP
Executable File

<?php define('__ROOT__', dirname(__FILE__) );
require_once __ROOT__.'/manager/autoloader.php';
/*******************************************/
/* DEBUGGER */
/*******************************************/
debug();
/*******************************************/
/* [0] On initialise le routeur
===================================================*/
$R = new router\Router( $_GET['url'] );
// var_dump($R);
/* [1] On cree les regles de routage
===================================================*/
// Racine -> page d'accueil
$R->get('/?', function(){ header('Location: /dashboard/'); });
// nomPage/arg1/arg2 -> inclusion de la page
$R->get('dashboard(?:/[\w-]+)*/?', function(){ include __ROOT__.'/view.php'; });
$R->get('profile(?:/[\w-]+)*/?', function(){ include __ROOT__.'/view.php'; });
$R->get('machines(?:/[\w-]+)*/?', function(){ include __ROOT__.'/view.php'; });
$R->get('users(?:/[\w-]+)*/?', function(){ include __ROOT__.'/view.php'; });
$R->get('analytics(?:/[\w-]+)*/?', function(){ include __ROOT__.'/view.php'; });
$R->get('settings(?:/[\w-]+)*/?', function(){ include __ROOT__.'/view.php'; });
// nomPage -> nomPage/
$R->get('dashboard', function(){ header('Location: /dashboard/'); });
$R->get('profile', function(){ header('Location: /profile/'); });
$R->get('machines', function(){ header('Location: /machines/'); });
$R->get('users', function(){ header('Location: /users/'); });
$R->get('analytics', function(){ header('Location: /analytics/'); });
$R->get('settings', function(){ header('Location: /settings/'); });
// $R->get('dashboard/', function(){ include __ROOT__.'/view.php'; });
// $R->get('machines/', function(){ include __ROOT__.'/view.php'; });
// $R->get('users/', function(){ include __ROOT__.'/view.php'; });
// $R->get('analytics/', function(){ include __ROOT__.'/view.php'; });
// $R->get('settings/', function(){ include __ROOT__.'/view.php'; });
// Dispatcher
$R->get('f(?:/([\w-]+))*/?', function(){ new \manager\ResourceDispatcher($_GET['url']); });
// Api
$R->post('api/?', function(){
$request = \manager\ModuleRequest::fromURL($_POST);
// Si requete correcte
if( $request->error == \manager\ManagerError::Success ){
$answer = $request->dispatch();
$answer->append('ModuleError', false);
echo $answer->serialize(); // On renvoie la reponse
// Si requete erronee
}else{
$answer = new \manager\ModuleAnswer();
$answer->append('ModuleError', true);
echo $answer->serialize();
}
});
// N'importe -> page d'accueil
$R->get('.+', function(){ header('Location: /dashboard/'); });
// $R->post('.*', function(){
// var_dump( 'Acces POST : '.$_GET['url'] );
// var_dump( $_POST );
// });
/* [2] On lance le routeur
===================================================*/
$R->run();
?>