From d1a68c763bdfa6ebbd71e2eee4ff870fed88be5f Mon Sep 17 00:00:00 2001 From: Thomas Lange Date: Wed, 4 Aug 2021 00:40:54 +0200 Subject: Move error page logic into the Application class Move the logic for generating the error pages into the Application class to remove this ugly "require" call in the error403 and error404 methods. --- 403.php | 16 +++------------- 404.php | 16 +++------------- core/namespace/Application.php | 14 ++++++++++---- 3 files changed, 16 insertions(+), 30 deletions(-) diff --git a/403.php b/403.php index 82f6836..6a3cb54 100644 --- a/403.php +++ b/403.php @@ -2,19 +2,9 @@ #=============================================================================== # INCLUDE: Initialization #=============================================================================== -require_once 'core/application.php'; +require 'core/application.php'; #=============================================================================== -# Send HTTP status code +# Show "403 Forbidden" error page #=============================================================================== -http_response_code(403); - -#=============================================================================== -# Build document -#=============================================================================== -$MainTemplate = Template\Factory::build('main'); -$MainTemplate->set('NAME', '403 Forbidden'); -$MainTemplate->set('HEAD', ['NAME' => $MainTemplate->get('NAME')]); -$MainTemplate->set('HTML', Template\Factory::build('403')); - -echo $MainTemplate; +Application::error403(); diff --git a/404.php b/404.php index 25cc683..72ff5c0 100644 --- a/404.php +++ b/404.php @@ -2,19 +2,9 @@ #=============================================================================== # INCLUDE: Initialization #=============================================================================== -require_once 'core/application.php'; +require 'core/application.php'; #=============================================================================== -# Send HTTP status code +# Show "404 Not Found" error page #=============================================================================== -http_response_code(404); - -#=============================================================================== -# Build document -#=============================================================================== -$MainTemplate = Template\Factory::build('main'); -$MainTemplate->set('NAME', '404 Not Found'); -$MainTemplate->set('HEAD', ['NAME' => $MainTemplate->get('NAME')]); -$MainTemplate->set('HTML', Template\Factory::build('404')); - -echo $MainTemplate; +Application::error404(); diff --git a/core/namespace/Application.php b/core/namespace/Application.php index 93361dd..b88fa2c 100644 --- a/core/namespace/Application.php +++ b/core/namespace/Application.php @@ -238,15 +238,21 @@ class Application { # Exit application with the 403 error page #=============================================================================== public static function error403(): void { - require ROOT.'403.php'; - exit(); + $Template = Template\Factory::build('main'); + $Template->set('NAME', '403 Forbidden'); + $Template->set('HEAD', ['NAME' => $Template->get('NAME')]); + $Template->set('HTML', Template\Factory::build('403')); + self::exit($Template, 403); } #=============================================================================== # Exit application with the 404 error page #=============================================================================== public static function error404(): void { - require ROOT.'404.php'; - exit(); + $Template = Template\Factory::build('main'); + $Template->set('NAME', '404 Not Found'); + $Template->set('HEAD', ['NAME' => $Template->get('NAME')]); + $Template->set('HTML', Template\Factory::build('404')); + self::exit($Template, 404); } } -- cgit v1.2.3