summaryrefslogtreecommitdiff
path: root/pages/api/emergency-real.php
blob: 04fd56ec3a0cffa89bdb199e3441654395efb640 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php

require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/session.inc"; global $isLoggedIn; global $isLowerLoggedIn; global $_PROFILE;

if (!$isLoggedIn && !$isLowerLoggedIn) {
    header("Location: /-/login");
    die();
}

global $_PROFILE;

$ntfy = $GLOBALS["ColdHazeApp"]["ntfy"];
$channels = [];

if (isset($_GET["raindrops"])) $channels[] = "emergency-raindrops";
if (isset($_GET["moonglow"])) $channels[] = "emergency-moonglow";
if (isset($_GET["hailstorm"])) $channels[] = "emergency-hailstorm";
if (isset($_GET[$GLOBALS["ColdHazeApp"]["other"]["slug"]])) $channels[] = "emergency";

$context = stream_context_create([
    'http' => [
        'method' => 'POST',
        'header' =>
            "Content-Type: text/plain\r\n" .
            "Title: " . formatPonypush("⚠️ Emergency alert") . "\r\n" .
            "Priority: urgent\r\n" .
            "Tags: emergency\r\n" .
            "Authorization: Basic " . base64_encode($ntfy["user"] . ":" . $ntfy["password"]),
        'content' => formatPonypush("This is an emergency, " . $_PROFILE['name'] . " is in need of immediate help. Please act now!")
    ]
]);

foreach ($channels as $channel) {
    file_get_contents('https://' . $ntfy["server"] . '/' . $channel, false, $context);
}

die();