1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
<?php global $system; global $systemCommonName; global $systemID; $pages = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/pages.json"), true); $title = $pages["s:species"]["name"] . " · " . $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'; ?>
|