diff options
author | Minteck <contact@minteck.org> | 2022-10-10 20:51:39 +0200 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-10-10 20:51:39 +0200 |
commit | 108525534c28013cfe1897c30e4565f9893f3766 (patch) | |
tree | dd3e5132971f96ab5f05e7f3f8f6dbbf379a19bd /includes/system/species.inc | |
parent | 2162eaa06f7e4764eb3dcfe130ec2c711d0c62ab (diff) | |
download | pluralconnect-108525534c28013cfe1897c30e4565f9893f3766.tar.gz pluralconnect-108525534c28013cfe1897c30e4565f9893f3766.tar.bz2 pluralconnect-108525534c28013cfe1897c30e4565f9893f3766.zip |
Update
Diffstat (limited to 'includes/system/species.inc')
-rw-r--r-- | includes/system/species.inc | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/includes/system/species.inc b/includes/system/species.inc new file mode 100644 index 0000000..bd37d7b --- /dev/null +++ b/includes/system/species.inc @@ -0,0 +1,70 @@ +<?php global $system; global $systemCommonName; global $systemID; $title = "Members by species ยท " . $systemCommonName; require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/header.inc'; global $travelling; + +$members = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$systemID/members.json"), true); +$members = scoreOrder($members, $systemID); + +function species(array $members, string $id, string $name) { global $systemID; ?> + <?php + + $members = [ + ...array_filter($members, function ($i) { + global $travelling; + return !$travelling[$i['id']]['travelling']; + }), + ...array_filter(json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/" . ($systemID === "gdapd" ? "ynmuc" : "gdapd") . "/members.json"), true), function ($i) use ($id, $systemID) { + global $travelling; + return $travelling[$i['id']]['travelling'] && in_array($id, parseMetadata(json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata/" . $i['id'] . ".json"), true))["species"]); + }) + ]; + + ?> + <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 4fr;"> + <div 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;text-decoration: none;"> + <img src="/assets/species/<?= $id ?>.png" style="width:24px;"><span class="species-name"> <?= $name ?></span> (<?= count($members) ?>) + </div> + + <div class="relation-item" style="margin-left:10px;padding:0 20px;"> + <?php if (count($members) > 0): ?> + <?php $index = 0; foreach ($members as $member): ?> + <a class="member-link" href="/<?= $member["name"] ?>"><img src="<?= getAsset($systemID, $member["id"], "heads") ?>" style="width:24px;"> <?= getMiniName($member["display_name"] ?? $member["name"]) ?></a><?php if ($index + 2 <= count($members)) echo('<span class="list-separator-desktop">, </span><span class="list-separator-mobile"><br></span>'); $index++; endforeach; ?> + <?php else: ?>-<?php endif; ?> + </div> + </div> +<?php } + +?> + + <br> + <div class="container" id="page-content"> + <h2><?= $systemCommonName ?> members by species</h2> + <?php + + $earth = []; + $pegasus = []; + $unicorn = []; + $alicorn = []; + $batpony = []; + $crystal = []; + + foreach ($members as $member) { + foreach ($member["_metadata"]["species"] as $species) { + if ($species === "earth") $earth[] = $member; + if ($species === "pegasus") $pegasus[] = $member; + if ($species === "unicorn") $unicorn[] = $member; + if ($species === "alicorn") $alicorn[] = $member; + if ($species === "batpony") $batpony[] = $member; + if ($species === "crystal") $crystal[] = $member; + } + } + + ?> + + <?php species($earth, "earth", "Earth ponies"); ?> + <?php species($pegasus, "pegasus", "Pegasi"); ?> + <?php species($unicorn, "unicorn", "Unicorns"); ?> + <?php species($alicorn, "alicorn", "Alicorns"); ?> + <?php species($batpony, "batpony", "Bat ponies"); ?> + <?php species($crystal, "crystal", "Crystal ponies"); ?> + </div> + +<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/footer.inc'; ?>
\ No newline at end of file |