Correction redirection et URL pour \warehouse\ et \admin\ ainsi que pour les pages normales

This commit is contained in:
xdrm-brackets 2016-07-10 15:23:53 +02:00
parent 9434e6cced
commit 24a6f1024e
5 changed files with 36 additions and 54 deletions

View File

@ -28,11 +28,11 @@
Authentification::check();
$auth = Authentification::auth();
/* (2) On définit la page d'accueil */
if( $auth == 2 ) $root_page = 'dashboard'; // Connecté -> Accès
elseif( $auth == 1 ) $root_page = 'admin'; // Pas identifié -> Identification
else $root_page = 'warehouse'; // Pas localisé -> Localisation
/* (2) On définit la page d'accueil */
if( $auth == 2 ) define('__REDIRECT__', 'Location: /dashboard/'); // Connecté -> Accès
elseif( $auth == 1 ) define('__REDIRECT__', 'Location: /admin/'); // Pas identifié -> Identification
else define('__REDIRECT__', 'Location: /warehouse/'); // Pas localisé -> Localisation
@ -47,25 +47,39 @@
/* (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 ){
// nomPage/arg1/arg2 -> inclusion de la page
$R->get('(.*)', function($m){
// 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'; });
if( !preg_match('#^(?:'.implode('|', $page_list).')(?:/[\w-]+)*/?$#i', $m[0]) )
header(__REDIRECT__);
else
$R->get('.+', function(){ include __ROOT__.'/view/warehouse.php'; });
include __ROOT__.'/view/view.php';
});
/* (3) Si on est pas authentifié */
}else if( $auth == 1 ){
$R->get('(.*)', function($m){
if( !preg_match('#^admin/$#', $m[0]) ) header(__REDIRECT__);
else include __ROOT__.'/view/admin.php';
});
}else{
$R->get('(.*)', function($m){
if( !preg_match('#^warehouse/$#', $m[0]) ) header(__REDIRECT__);
else include __ROOT__.'/view/warehouse.php';
});
}
@ -82,8 +96,8 @@
/* (5) N'importe -> page d'accueil */
$R->get('.+', function(){ header("Location: /$root_page/"); });
$R->post('.+', function(){ header("Location: /$root_page/"); });
$R->get('.+', function(){ header(__REDIRECT__); });
$R->post('.+', function(){ header(__REDIRECT__); });

View File

@ -48,25 +48,10 @@
if( $id_group === false )
return ['ModuleError' => ManagerError::ModuleError];
/* [3] Association au groupe
=========================================================*/
// $assoc_goup = new Repo('cluster/link', [
// $_SESSION['WAREHOUSE']['id'],
// $id_group,
// $id_machine,
// clusterRepo::MACHINE_CLASS
// ]);
// $id_assoc = $assoc_goup->answer();
//
// // Si une erreur est retournee, on retourne une erreur
// if( $id_assoc === false )
// return ['ModuleError' => ManagerError::ModuleError];
/* [4] Gestion du retour
/* [3] Gestion du retour
=========================================================*/
return [
'ModuleError' => ManagerError::Success,
'id_machine' => $id_machine,
'id_cluster' => $id_group
];

View File

@ -66,24 +66,7 @@
/* [4] Association au groupe
=========================================================*/
// $assoc_goup = new Repo('cluster/link', [
// $_SESSION['WAREHOUSE']['id'],
// $id_cluster,
// $id_user,
// clusterRepo::USER_CLASS
// ]);
// $assoc_err = $assoc_goup->answer();
//
// // Si une erreur est retournee, on retourne une erreur
// if( $assoc_err != ManagerError::Success )
// return ['ModuleError' => $assoc_err];
/* [5] Gestion du retour
/* [4] Gestion du retour
=========================================================*/
return [
'id_user' => $id_user,

View File

@ -247,7 +247,7 @@
*/
public static function getAll($id_warehouse){
// On ecrit la requete
$request = Database::getPDO()->prepare("SELECT *
$request = Database::getPDO()->prepare("SELECT c.id_cluster, c.name, c.class
FROM cluster as c
WHERE c.id_warehouse = :id_warehouse
AND c.personal is null

View File

@ -155,7 +155,7 @@
// Si correct, on recharge la page
}else
document.location = '';
document.location = '/';
});
}