diff options
Diffstat (limited to 'src/web/core/router.php')
-rw-r--r-- | src/web/core/router.php | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/web/core/router.php b/src/web/core/router.php index 72c7674..557665b 100644 --- a/src/web/core/router.php +++ b/src/web/core/router.php @@ -66,10 +66,14 @@ class Router { * Gets the curret request info * @return array<string,mixed> */ - private function get_req(): array { + private function get_req(): array|bool { $method = $_SERVER['REQUEST_METHOD']; $uri = parse_url($_SERVER['REQUEST_URI']); + if (!$uri) { + return FALSE; + } + $path = $uri['path']; return array_merge( @@ -100,9 +104,11 @@ class Router { die($code . ' (recursed)'); } + $this->main->info = array(); $this->main->info['slug'] = 'index'; $this->main->info['app'] = 'error'; $this->main->info['route'] = 'apps/error'; + $this->main->info['lang'] = $this->get_lang(); $req = $this->main->info; $_GET['code'] = $code; @@ -114,6 +120,12 @@ class Router { * @param bool $recursed */ private function handle_req($req, $recursed = FALSE): void { + + if ($req === FALSE) { + $this->handle_error(500, $recursed); + return; + } + $controller = $this->load->controller($req['route']); if ($controller === NULL) { |