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) { $times[] = getLastFronted($members, $id); } foreach ($a[1] as $id) { $times[] = getLastFronted($members, $id); } $timeA = time() - min(...$times); $times = []; foreach ($b[0] as $id) { $times[] = getLastFronted($members, $id); } foreach ($b[1] as $id) { $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 < 2; $i++): $pair = $pairs[$listI]; $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"]; endforeach; foreach ($pair[1] as $id): $data[$i][1][] = getMemberWithoutSystem($id)["display_name"] ?? getMemberWithoutSystem($id)["name"]; endforeach; } else { $data[$i] = null; } if (!in_array(date('Y-m-d', time() + 86400 * $i), $ignored)) $listI++; if ($listI === count($pairs)) $listI = 0; endfor; header("Content-Type: application/json"); die(json_encode($data, JSON_PRETTY_PRINT));