summaryrefslogtreecommitdiff
path: root/src/web/core/router.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/web/core/router.php')
-rw-r--r--src/web/core/router.php14
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) {