diff --git a/Kernel/Exceptions/HTTPSpecialCaseException.php b/Kernel/Exceptions/HTTPSpecialCaseException.php new file mode 100644 index 0000000..9de37b9 --- /dev/null +++ b/Kernel/Exceptions/HTTPSpecialCaseException.php @@ -0,0 +1,23 @@ +httpCode = $httpCode; + $this->msg = $msg; + } + + public function getHTTPCode(){ + return $this->httpCode; + } + + public function getMsg(){ + return $this->code; + } + +} \ No newline at end of file diff --git a/Views/errors/400.php b/Views/errors/400.php new file mode 100644 index 0000000..0f6c905 --- /dev/null +++ b/Views/errors/400.php @@ -0,0 +1,8 @@ +

Error 400

+

Erreur du client 😥

+ message d'erreur: $A_view

"; + } +?> +Retourner à l'accueil diff --git a/Views/errors/403.php b/Views/errors/403.php new file mode 100644 index 0000000..4779e15 --- /dev/null +++ b/Views/errors/403.php @@ -0,0 +1,3 @@ +

Error 403

+

Vous n'avez pas l'autorisation d'accéder à cette page 😥

+
Retourner à l'accueil diff --git a/Views/errors/500.php b/Views/errors/500.php new file mode 100644 index 0000000..c7abb72 --- /dev/null +++ b/Views/errors/500.php @@ -0,0 +1,8 @@ +

Error 500

+

Erreur interne du serveur 😥

+ message d'erreur: $A_view

"; + } +?> +
Retourner à l'accueil diff --git a/index.php b/index.php index 911db2c..5f36be7 100644 --- a/index.php +++ b/index.php @@ -25,6 +25,18 @@ { echo ('An error occured: ' . $O_exception->getMessage()); } + catch (HTTPSpecialCaseException $O_exception) + { + // drop old buffer + View::closeBuffer(); + View::openBuffer(); + + View::show("errors/".$O_exception->getHTTPCode(), $O_exception->getMsg()); + + $content = View::closeBuffer(); + View::show('html', array('body' => $content)); + return; + } $content = View::closeBuffer();