diff options
Diffstat (limited to 'web/routes/error')
-rw-r--r-- | web/routes/error/controller.php | 20 | ||||
-rw-r--r-- | web/routes/error/model.php | 31 | ||||
-rw-r--r-- | web/routes/error/views/error.php | 4 |
3 files changed, 55 insertions, 0 deletions
diff --git a/web/routes/error/controller.php b/web/routes/error/controller.php new file mode 100644 index 0000000..3cb2345 --- /dev/null +++ b/web/routes/error/controller.php @@ -0,0 +1,20 @@ +<?php /* Copyright (c) 2024 Freya Murphy */ +class ErrorController extends Controller { + + private $model; + + function __construct($model) { + parent::__construct(); + $this->model = $model; + } + + public function index() { + parent::index(); + $data = $this->model->get_data(); + $this->view('header', $data); + $this->app_view('error', $data); + } + +} + +?> diff --git a/web/routes/error/model.php b/web/routes/error/model.php new file mode 100644 index 0000000..a30fccc --- /dev/null +++ b/web/routes/error/model.php @@ -0,0 +1,31 @@ +<?php /* Copyright (c) 2024 Freya Murphy */ +class ErrorModel extends Model { + + private function get_msg(&$data) { + if (!array_key_exists('code', $_GET)) { + $data['msg'] = lang('error'); + $data['title'] = '500'; + } else { + $code = $_GET['code']; + $data['title'] = $code; + switch ($code) { + case '404': + $data['msg'] = lang('error_404'); + break; + case '500': + $data['msg'] = lang('error_500'); + break; + default: + $data['msg'] = lang('error'); + break; + } + } + } + + public function get_data() { + $data = parent::get_data(); + $this->get_msg($data); + return $data; + } +} +?> diff --git a/web/routes/error/views/error.php b/web/routes/error/views/error.php new file mode 100644 index 0000000..3b926bc --- /dev/null +++ b/web/routes/error/views/error.php @@ -0,0 +1,4 @@ +<div id="error"> + <h1><?=$title?></h1> + <span><?=$msg?></span> +</div> |