summaryrefslogtreecommitdiff
path: root/src/alert.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/alert.php')
-rw-r--r--src/alert.php33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/alert.php b/src/alert.php
new file mode 100644
index 0000000..eb67f77
--- /dev/null
+++ b/src/alert.php
@@ -0,0 +1,33 @@
+<?php
+function generate_alert(string $path, string $error, int $status = 400)
+{
+ http_response_code($status);
+
+ if (isset($_SERVER["HTTP_ACCEPT"]) && $_SERVER["HTTP_ACCEPT"] == "application/json") {
+ echo json_encode([
+ "status_code" => $status,
+ "message" => $error,
+ "data" => null
+ ]);
+ } else {
+ header("Location: $path?error_status=$status&error_reason=$error");
+ }
+}
+
+function display_alert()
+{
+ if (!isset($_GET["error_status"], $_GET["error_reason"])) {
+ return;
+ }
+
+ $status = $_GET["error_status"];
+ $reason = str_safe($_GET["error_reason"], 50);
+ $ok = substr($status, 0, 1) == '2';
+
+ echo '' ?>
+ <div class="box row alert <?php echo $ok ? '' : 'red' ?>" style="gap:8px;">
+ <img src="/static/img/icons/<?php echo $ok ? 'yes' : 'no' ?>.png" alt="">
+ <p><b><?php echo $reason ?></b></p>
+ </div>
+ <?php
+} \ No newline at end of file