summaryrefslogtreecommitdiff
path: root/includes/travelling.php
blob: bb241725a019907fb0d750cfe0d2fae62470d96a (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
<?php

$travelling = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/travelling.json"), true);
$members = [...array_map(function ($i) {
    $i["_system"] = "ynmuc";
    return $i;
}, json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/ynmuc-members.json"), true)), ...array_map(function ($i) {
    $i["_system"] = "gdapd";
    return $i;
}, json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/gdapd-members.json"), true))];

foreach ($members as $member) {
    if (!isset($travelling[$member["id"]])) {
        $travelling[$member["id"]] = [
            "travelling" => false,
            "history" => []
        ];
    }
}

function withTravelers(array $members, string $system): array {
    global $travelling;

    return [
        ...array_map(function ($i) use ($system) {
            $i['system'] = $system;
            return $i;
        }, array_filter($members, function ($i) use ($travelling) {
            return !$travelling[$i['id']]['travelling'];
        })),
        ...array_filter(array_map(function ($i) use ($system) {
            $i['system'] = $system === "gdapd" ? "ynmuc" : "gdapd";
            return $i;
        }, json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/" . ($system === "gdapd" ? "ynmuc" : "gdapd") . "-members.json"), true)), function ($i) use ($travelling) {
            return $travelling[$i['id']]['travelling'];
        })
        ];
}

file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/travelling.json", json_encode($travelling, JSON_PRETTY_PRINT));