summaryrefslogtreecommitdiff
path: root/pages/byfront.php
diff options
context:
space:
mode:
Diffstat (limited to 'pages/byfront.php')
-rw-r--r--pages/byfront.php160
1 files changed, 160 insertions, 0 deletions
diff --git a/pages/byfront.php b/pages/byfront.php
new file mode 100644
index 0000000..eb9050c
--- /dev/null
+++ b/pages/byfront.php
@@ -0,0 +1,160 @@
+<?php
+
+require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/init.php"; global $title; global $isLoggedIn;
+require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/header.php';
+$travelling = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/travelling.json"), true);
+
+?>
+
+<br>
+<div class="container">
+ <div id="page-content">
+ <h2>Members by last fronted</h2>
+
+ <h4>Cloudburst System</h4>
+ <?php $system = "ynmuc"; $members = array_map(function ($i) use ($system) {
+ $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";
+ }))); uasort($members, function ($a, $b) {
+ return $b["_lastFronted"] - $a["_lastFronted"];
+ }); foreach ($members as $member): ?>
+ <div class="relation" style="background-color:rgba(255, 255, 255, .1);margin-bottom:10px;padding:10px;border-radius:10px;display:grid;grid-template-columns: 1fr 2fr max-content;">
+ <a class="relation-intro" style="background-color:rgba(255, 255, 255, .05);border-right:1px solid rgba(255, 255, 255, .1);margin:-10px;padding:10px;border-top-left-radius:10px;border-bottom-left-radius:10px;color: white;display:flex;align-items:center;text-decoration: none;" href="/<?= $member["name"] ?>">
+ <img src="/assets/uploads/pt<?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/uploads/pt-" . resolveMember($member['name']) . ".png") ? "-" . $member['name'] : "" ?>.png" style="width:24px;">&nbsp;<?= $member["display_name"] ?? $member["name"] ?>
+ <?php if ($member["_metadata"]["shared_memory"] !== 2): ?>
+ &nbsp;<span class="badge text-black bg-warning rounded-pill">Not sharing memory</span>
+ <?php endif; ?>
+ </a>
+
+ <div class="relation-item" style="display:flex;align-items:center;margin-left:10px;padding:0 20px;">
+ <?php if ($member["_lastFronted"] === -1): ?>
+ Never fronted
+ <?php else: ?>
+ Last fronted <?= timeAgo($member["_lastFronted"]) ?><?php if ($member["_lastFronted"] !== time()): ?> (<?= date('l j F Y', $member["_lastFronted"]) ?>)<?php endif; ?>
+ <?php endif; ?>
+ </div>
+ </div>
+ <?php endforeach; ?>
+
+ <br>
+ <h4>Raindrops System</h4>
+ <?php $system = "gdapd"; $members = array_map(function ($i) use ($system) {
+ $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";
+ }))); uasort($members, function ($a, $b) {
+ return $b["_lastFronted"] - $a["_lastFronted"];
+ }); foreach ($members as $member): ?>
+ <div class="relation" style="background-color:rgba(255, 255, 255, .1);margin-bottom:10px;padding:10px;border-radius:10px;display:grid;grid-template-columns: 1fr 2fr max-content;">
+ <a class="relation-intro" style="background-color:rgba(255, 255, 255, .05);border-right:1px solid rgba(255, 255, 255, .1);margin:-10px;padding:10px;border-top-left-radius:10px;border-bottom-left-radius:10px;color: white;display:flex;align-items:center;text-decoration: none;" href="/<?= $member["name"] ?>">
+ <img src="/assets/uploads/pt<?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/uploads/pt-" . resolveMember($member['name']) . ".png") ? "-" . $member['name'] : "" ?>.png" style="width:24px;">&nbsp;<?= $member["display_name"] ?? $member["name"] ?>
+ <?php if ($member["_metadata"]["shared_memory"] !== 2): ?>
+ &nbsp;<span class="badge text-black bg-warning rounded-pill">Not sharing memory</span>
+ <?php endif; ?>
+ </a>
+
+ <div class="relation-item" style="display:flex;align-items:center;margin-left:10px;padding:0 20px;">
+ <?php if ($member["_lastFronted"] === -1): ?>
+ Never fronted
+ <?php else: ?>
+ Last fronted <?= timeAgo($member["_lastFronted"]) ?><?php if ($member["_lastFronted"] !== time()): ?> (<?= date('l j F Y', $member["_lastFronted"]) ?>)<?php endif; ?>
+ <?php endif; ?>
+ </div>
+ </div>
+ <?php endforeach; ?>
+ </div>
+
+ <style>
+ @media (max-width: 991px) {
+ .relation {
+ grid-template-columns: 1fr !important;
+ }
+
+ .relation-intro {
+ text-align: center;
+ border-bottom-left-radius: 0 !important;
+ border-top-right-radius: 10px;
+ border-right: none !important;
+ border-bottom: 1px solid rgba(255, 255, 255, .1);
+ }
+
+ .relation-item-marefriends {
+ margin-top: 20px !important;
+ }
+
+ .relation-item {
+ margin-top: 10px;
+ margin-left: 0 !important;
+ padding: 10px 0 !important;
+ text-align: center;
+ }
+ }
+ </style>
+</div>
+
+<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/footer.php'; ?>