diff options
| author | Syndamia <kamen@syndamia.com> | 2025-01-26 22:18:31 +0200 |
|---|---|---|
| committer | Syndamia <kamen@syndamia.com> | 2025-01-26 22:24:48 +0200 |
| commit | 426d1df08277d349e2117ec93e0d0ae76af571e6 (patch) | |
| tree | e489855fbe280f52fa90271b27cdc88c762b605d /views | |
| parent | 39f5b1fce005ff0a2c3cb552c4ec5f478ab0b831 (diff) | |
| download | nowayforward_human-426d1df08277d349e2117ec93e0d0ae76af571e6.tar nowayforward_human-426d1df08277d349e2117ec93e0d0ae76af571e6.tar.gz nowayforward_human-426d1df08277d349e2117ec93e0d0ae76af571e6.zip | |
feat(router): Support for sub-root pages
Diffstat (limited to 'views')
| -rw-r--r-- | views/global/router.php | 25 |
1 files 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(); |
