summaryrefslogtreecommitdiff
path: root/includes/system/species.php
blob: a35e8113ef86a26c59d8a642776c4f6782b42f28 (plain)
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; $title = "Members by species · " . $systemCommonName; require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/header.php'; 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/" . ($systemID === "gdapd" ? "ynmuc" : "gdapd") . "-" . $i['id'] . "-metadata.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="/assets/uploads/pt<?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/uploads/pt-" . resolveMember($member['name']) . ".png") ? "-" . $member['name'] : "" ?>.png" style="width:24px;"> <?= getMiniName($member["display_name"] ?? $member["name"]) ?></a><?php if ($index + 2 <= count($members)) echo('<span class="list-separator-desktop">, &nbsp;</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.php'; ?>