From 6b796258d413f00e498ce7f80f73a9f6c061f29c Mon Sep 17 00:00:00 2001 From: RaindropsSys Date: Sat, 30 Mar 2024 23:40:33 +0100 Subject: Updated 5 files, added 2 files, deleted 495 files and renamed 7 files (automated) --- daemons/next.php | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 daemons/next.php (limited to 'daemons/next.php') diff --git a/daemons/next.php b/daemons/next.php new file mode 100644 index 0000000..c004a66 --- /dev/null +++ b/daemons/next.php @@ -0,0 +1,165 @@ + 0) { + $thisIndex = array_search($thisMember[0], $switches); + + $frontingStart = $thisMember[0]; + $frontingEnd = $switches[$thisIndex - 1]; + } + + if ($frontingEnd !== null && isset($frontingStart)) { + $i["_lastFronted"] = strtotime($frontingEnd["timestamp"]); + } + } + + return $i; +}, json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/data/gdapd/members.json"), true)); + +$requested = []; foreach ([...$pairs, ...$pairs2] as $pair) { + array_push($requested, ...$pair); +} $requested = array_unique($requested); + +usort($pairs2, function ($a, $b) use ($members) { + $times = []; + + foreach ($a as $id) { + if (getLastFronted($members, $id) > 0) $times[] = getLastFronted($members, $id); + } + + $timeA = time() - min($times); + $times = []; + + foreach ($b as $id) { + if (getLastFronted($members, $id) > 0) $times[] = getLastFronted($members, $id); + } + + $timeB = time() - min($times); + + if ($timeA < 5 || $timeB < 5) { + return -INF; + } else { + return $timeB - $timeA; + } +}); $pairsM = array_values($pairs2); + +$requested = array_map(function ($i) { return $i[0]; }, $pairsM); + +$fronters = array_map(function ($i) { + return $i["id"]; +}, json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/data/gdapd/fronters.json"), true)["members"]); + +$requested = array_values(array_filter(array_unique($requested), function ($i) use ($fronters) { + return !in_array($i, $fronters); +})); + +$i = 0; +$list = [$requested[$i]]; + +if (count($list) > 1) { + $str = implode(" or ", array_map(function ($i) { + return (getMemberWithoutSystem($i)["display_name"] ?? getMemberWithoutSystem($i)["name"]); + }, $list)) . " is fronting today."; +} elseif (count($list) > 0) { + $str = (getMemberWithoutSystem($list[0])["display_name"] ?? getMemberWithoutSystem($list[0])["name"]) . " is fronting today."; +} else { + $str = "We couldn't tell who will front today, sorry."; +} + +$context = stream_context_create([ + 'http' => [ + 'method' => 'POST', + 'header' => + "Content-Type: text/plain\r\n" . + "Title: " . formatPonypush("🎠 Pony fronting today") . "\r\n" . + "Priority: high\r\n" . + "Tags: schedule\r\n" . + "Authorization: Basic " . base64_encode($ntfy["user"] . ":" . $ntfy["password"]), + 'content' => formatPonypush($str) + ] +]); + +file_get_contents('https://' . $ntfy["server"] . '/main', false, $context); -- cgit