diff options
Diffstat (limited to 'skin/error.skin.php')
-rw-r--r-- | skin/error.skin.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/skin/error.skin.php b/skin/error.skin.php new file mode 100644 index 0000000..b0925d3 --- /dev/null +++ b/skin/error.skin.php @@ -0,0 +1,40 @@ +<?php + +namespace skin\error; + +use Stringable; + +function forbidden($ctx, $message) { + return $ctx->common(403, 'Forbidden', $message); +} + +function not_found($ctx, $message) { + return $ctx->common(404, 'Not Found', $message); +} + +function unauthorized($ctx, $message) { + return $ctx->common(401, 'Unauthorized', $message); +} + +function not_implemented($ctx, $message) { + return $ctx->common(501, 'Not Implemented', $message); +} + +function common($ctx, + int $code, + string|Stringable $title, + string|Stringable|null $message = null) { +return <<<HTML +<html> + <head><title>$code $title</title></head> + <body> + <center><h1>$code $title</h1></center> + {$ctx->if_true($message, + '<hr><p align="center">'.$message.'</p>' + )} + + </body> +</html> +HTML; + +}
\ No newline at end of file |