New router and associated pages
This commit is contained in:
parent
68dcb996c9
commit
bed471d75a
12 changed files with 134 additions and 115 deletions
145
htdocs/index.php
145
htdocs/index.php
|
@ -2,112 +2,107 @@
|
|||
//Inclusion de l'API Onyx
|
||||
require_once(trim(file_get_contents('./.onyx')));
|
||||
|
||||
define("SALT_USER", "connected");
|
||||
define("SALT_ADMIN", "admin");
|
||||
|
||||
//On active le débogage si l'on est sur le domaine de debug
|
||||
if ($_SERVER["SERVER_NAME"] == "localhost" || $_SERVER["SERVER_NAME"] == "fic" || $_SERVER["SERVER_NAME"] == "atlantis.chen.li")
|
||||
define("DEBUG", true);
|
||||
|
||||
//Chargement de tout le nécessaire pour le site
|
||||
require_once("common.php");
|
||||
//require_once("common.php");
|
||||
|
||||
$p = strtolower(gpc("p"));
|
||||
$n = preg_match_all("#[^/]+#", strtolower(gpc("p")), $out);
|
||||
$p = $out[0];
|
||||
|
||||
if (empty($page) && $SESS->level > 0)
|
||||
// Admin part
|
||||
if ($p[0] == SALT_ADMIN)
|
||||
{
|
||||
if ($SESS->level > 1)
|
||||
if ($n <= 1)
|
||||
$page = require("admin/home.php");
|
||||
else
|
||||
{
|
||||
switch($p)
|
||||
switch($p[1])
|
||||
{
|
||||
case "exercices/import/":
|
||||
case "exercices/import":
|
||||
include("admin/import_exercices.php");
|
||||
case "exercices/import/":
|
||||
case "exercices/import":
|
||||
$page = require("admin/import_exercices.php");
|
||||
break;
|
||||
|
||||
case "users":
|
||||
case "users/":
|
||||
include("admin/list_users.php");
|
||||
case "users":
|
||||
case "users/":
|
||||
$page = require("admin/list_users.php");
|
||||
break;
|
||||
|
||||
case "users/import":
|
||||
case "users/import/":
|
||||
include("admin/import_users.php");
|
||||
case "users/import":
|
||||
case "users/import/":
|
||||
$page = require("admin/import_users.php");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
switch($p)
|
||||
{
|
||||
case "":
|
||||
$_GET["p"] = "";
|
||||
case "accueil":
|
||||
include("users/accueil.php");
|
||||
break;
|
||||
|
||||
case "disconnect":
|
||||
include("public/login.php");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($page)) // Public pages
|
||||
// Known users
|
||||
else if ($p[0] == SALT_USER)
|
||||
{
|
||||
switch($p)
|
||||
$connected = true;
|
||||
|
||||
if ($n <= 1)
|
||||
$page = require("team/home.php");
|
||||
else
|
||||
{
|
||||
case "":
|
||||
$_GET["p"] = "";
|
||||
case "home":
|
||||
include("public/home.php");
|
||||
break;
|
||||
$TEAM = $p[1];
|
||||
|
||||
case "login":
|
||||
include("public/login.php");
|
||||
break;
|
||||
if ($n <= 2)
|
||||
$page = require("team/team.php");
|
||||
else
|
||||
{
|
||||
switch($p[2])
|
||||
{
|
||||
case "change/":
|
||||
case "change":
|
||||
$page = require("team/change.php");
|
||||
break;
|
||||
|
||||
case "score":
|
||||
include("public/score.php");
|
||||
break;
|
||||
case "summary":
|
||||
case "summary/":
|
||||
$page = require("team/summary.php");
|
||||
break;
|
||||
}
|
||||
|
||||
case "403":
|
||||
$template->assign("err", 403);
|
||||
$page = "404";
|
||||
break;
|
||||
case "404":
|
||||
$template->assign("err", 404);
|
||||
$page = "404";
|
||||
break;
|
||||
case "5mail":
|
||||
include("mail.php");
|
||||
exit;
|
||||
case "500":
|
||||
$template->assign("err", 500);
|
||||
$page = "404";
|
||||
break;
|
||||
// SALT/$team/$theme
|
||||
if (empty($page))
|
||||
{
|
||||
$THEME = $p[2];
|
||||
|
||||
if ($n == 4)
|
||||
{
|
||||
$EXERCICE = $p[3];
|
||||
$page = require("team/exercice.php");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Public part
|
||||
else
|
||||
{
|
||||
if ($n == 0)
|
||||
$page = require("public/home.php");
|
||||
else if ($n == 1)
|
||||
{
|
||||
$TEAM = $p[0];
|
||||
|
||||
$page = require("public/team.php");
|
||||
}
|
||||
}
|
||||
|
||||
// No page here...?
|
||||
if (empty($page))
|
||||
{
|
||||
$template->assign("err", 404);
|
||||
$template->display("404.tpl");
|
||||
}
|
||||
else
|
||||
{
|
||||
$ALERTS = array();
|
||||
$nbAlert = @count($SESS->values["alerts"]);
|
||||
if ($nbAlert > 0)
|
||||
{
|
||||
for ($i = 0; $i < $nbAlert; $i++)
|
||||
{
|
||||
if ($SESS->values["alerts"][$i]->page == $page)
|
||||
{
|
||||
$ALERTS[] = $SESS->values["alerts"][$i];
|
||||
unset($SESS->values["alerts"][$i]);
|
||||
$i--; $nbAlert--;
|
||||
$SESS->values["alerts"] = array_values($SESS->values["alerts"]);
|
||||
}
|
||||
}
|
||||
$SESS->put();
|
||||
}
|
||||
$template->assign("ALERTS", $ALERTS);
|
||||
|
||||
$template->display($page.".tpl");
|
||||
}
|
||||
|
|
Reference in a new issue