SMMP/index.php

68 lines
1.7 KiB
PHP
Raw Normal View History

<?php define('__ROOT__', dirname(__FILE__) );
2016-07-02 15:10:41 +00:00
require_once __ROOT__.'/manager/autoloader.php';
use \router\Router;
use \manager\ResourceDispatcher;
2016-07-02 15:10:41 +00:00
use \manager\ModuleRequest;
2016-07-02 15:10:41 +00:00
use \manager\ModuleResponse;
use \manager\ManagerError;
/*******************************************/
/* DEBUGGER */
/*******************************************/
debug();
/*******************************************/
/* [0] On initialise le routeur
===================================================*/
$R = new Router( $_GET['url'] );
// var_dump($R);
/* [1] On cree les regles de routage
===================================================*/
// Racine -> page d'accueil
$R->get('/?', function(){ header('Location: /dashboard/'); });
// Liste des pages du site
$page_list = array(
'dashboard',
'profile',
'machines',
'users',
'groups',
'analytics',
'settings'
);
// nomPage/arg1/arg2 -> inclusion de la page
$R->get('(?:'.implode('|', $page_list).')(?:/[\w-]+)*/?', function(){ include __ROOT__.'/view.php'; });
// Dispatcher
$R->get('f(?:/([\w-]+))*/?', function(){ new ResourceDispatcher($_GET['url'], true); });
// Api
2016-07-02 15:10:41 +00:00
$R->post('api(?:/(.*))?', function($url){
$request = ModuleRequest::fromPost($url, $_POST);
$answer = $request->dispatch();
2016-07-02 15:10:41 +00:00
// Si c'est une réponse (et non un download)
if( $answer instanceof ModuleResponse )
echo $answer->serialize();
});
2016-07-02 15:10:41 +00:00
// N'importe -> page d'accueil
$R->get('.+', function(){ header('Location: /dashboard/'); });
2016-07-02 15:10:41 +00:00
$R->post('.+', function(){ header('Location: /dashboard/'); });
/* [2] On lance le routeur
===================================================*/
$R->run();
2016-07-02 15:10:41 +00:00
?>