diff options
Diffstat (limited to 'pages/api/evening.php')
-rw-r--r-- | pages/api/evening.php | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/pages/api/evening.php b/pages/api/evening.php deleted file mode 100644 index 4d420ab..0000000 --- a/pages/api/evening.php +++ /dev/null @@ -1,155 +0,0 @@ -<?php - -require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/functions.inc"; -require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/session.inc"; global $isLoggedIn; global $isLowerLoggedIn; -if (!$isLoggedIn || $isLowerLoggedIn) { - header("Location: /-/login"); - die(); -} - -$pairs = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/evening/pairs.json"), true); -$ignored = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/evening/ignored.json"), true); -$locked = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/evening/locked.json"), true); -$data = []; - -$members = $members = [ - ...array_map(function ($i) { - $system = "ynmuc"; - $i["_lastFronted"] = -1; - $id = $i["id"]; - $memberData = $i; - - $fronters = array_map(function ($item) { - return $item["id"]; - }, json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/fronters.json"), true)["members"]); - - if (in_array($id, $fronters)) { - $i["_lastFronted"] = time(); - } else { - $switches = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/switches.json"), true); - - $thisMember = array_filter($switches, function ($item) use ($memberData) { - return in_array($memberData["id"], $item["members"]); - }); - - $thisMember = array_values($thisMember); - $frontingEnd = null; - - if (count($thisMember) > 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; - }, array_values(array_filter(scoreOrderGlobal(), function ($i) { - return $i["_system"] === "ynmuc"; - }))), - ...array_map(function ($i) { - $system = "gdapd"; - $i["_lastFronted"] = -1; - $id = $i["id"]; - $memberData = $i; - - $fronters = array_map(function ($item) { - return $item["id"]; - }, json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/fronters.json"), true)["members"]); - - if (in_array($id, $fronters)) { - $i["_lastFronted"] = time(); - } else { - $switches = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/switches.json"), true); - - $thisMember = array_filter($switches, function ($item) use ($memberData) { - return in_array($memberData["id"], $item["members"]); - }); - - $thisMember = array_values($thisMember); - $frontingEnd = null; - - if (count($thisMember) > 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; - }, array_values(array_filter(scoreOrderGlobal(), function ($i) { - return $i["_system"] === "gdapd"; - }))) -]; - -usort($pairs, function ($a, $b) use ($members) { - $times = []; - - foreach ($a[0] as $id) { - if (getLastFronted($members, $id) > 0) $times[] = getLastFronted($members, $id); - } - foreach ($a[1] as $id) { - if (getLastFronted($members, $id) > 0) $times[] = getLastFronted($members, $id); - } - - $timeA = time() - min($times); - $times = []; - - foreach ($b[0] as $id) { - if (getLastFronted($members, $id) > 0) $times[] = getLastFronted($members, $id); - } - foreach ($b[1] as $id) { - if (getLastFronted($members, $id) > 0) $times[] = getLastFronted($members, $id); - } - - $timeB = time() - min($times); - - return $timeB - $timeA; -}); $pairs = array_values($pairs); foreach ($pairs as $pair): $times = []; - foreach ($pair[0] as $id): $times[] = getLastFronted($members, $id); endforeach; - foreach ($pair[1] as $id): $times[] = getLastFronted($members, $id); endforeach; -endforeach; - -$listI = 0; for ($i = 0; $i < 7; $i++): $pair = $pairs[$listI]; - $realPair = $pair; - - if (isset($locked[date('Y-m-d', time() + 86400 * $i)])) { - $pair = array_map(function ($i) { - return explode(",", $i); - }, explode("|", $locked[date('Y-m-d', time() + 86400 * $i)])); - } - - $data[$i] = []; - if (!in_array(date('Y-m-d', time() + 86400 * $i), $ignored)) { - $data[$i][0] = []; - $data[$i][1] = []; - foreach ($pair[0] as $id): - $data[$i][0][] = (getMemberWithoutSystem($id)["display_name"] ?? getMemberWithoutSystem($id)["name"]) . (isset($locked[date('Y-m-d', time() + 86400 * $i)]) ? "*" : ""); - endforeach; - foreach ($pair[1] as $id): - $data[$i][1][] = (getMemberWithoutSystem($id)["display_name"] ?? getMemberWithoutSystem($id)["name"]) . (isset($locked[date('Y-m-d', time() + 86400 * $i)]) ? "*" : ""); - endforeach; - } else { - $data[$i] = null; - } - - if ( - (!isset($locked[date('Y-m-d', time() + 86400 * $i)]) && !in_array(date('Y-m-d', time() + 86400 * $i), $ignored)) - || (isset($locked[date('Y-m-d', time() + 86400 * $i)]) && $locked[date('Y-m-d', time() + 86400 * $i)] === implode(",", $realPair[0]) . "|" . implode(",", $realPair[1])) - ) { - $listI++; - } - - if ($listI === count($pairs)) $listI = 0; endfor; - -header("Content-Type: application/json"); -die(json_encode($data, JSON_PRETTY_PRINT));
\ No newline at end of file |