From 426d1df08277d349e2117ec93e0d0ae76af571e6 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 26 Jan 2025 22:18:31 +0200 Subject: feat(router): Support for sub-root pages --- views/global/router.php | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/views/global/router.php b/views/global/router.php index cd9b304..a783531 100644 --- a/views/global/router.php +++ b/views/global/router.php @@ -5,12 +5,23 @@ $CONTROLLERS_DIR = __DIR__ . '/../../controllers'; $MODELS_DIR = __DIR__ . '/../../models'; $uri = rtrim($_SERVER['REQUEST_URI'], '/'); -$root = '/' . @explode('/', $uri, 3)[1]; +$exploded = @explode('/', $uri, 4); +$root = '/' . @$exploded[1]; +$subroot = '/' . @$exploded[2]; function route_view() { global $root; + global $subroot; global $uri; + switch ($uri) { + case '': case '/': case '/home': + return '/home'; + } + + switch ($root . $subroot) { + } + switch ($root) { case '/archive': return '/archive'; case '/profile': return '/profile'; @@ -19,19 +30,13 @@ function route_view() { case '/logout': return '/logout'; case '/newlist': return '/newlist'; case '/list': return '/list'; - } - - switch ($uri) { - case '': case '/': case '/home': - return '/home'; case '/authenticate': return '/profile/authenticate.php'; - - default: - http_response_code(404); - return '/404'; } + + http_response_code(404); + return '/404'; } $view = $VIEWS_DIR . route_view(); -- cgit v1.2.3