summaryrefslogtreecommitdiff
path: root/includes/system/history.php
blob: ad4e30e46e86589ff4acff05cd1772dd8dbbab65 (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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
<?php global $system; global $systemCommonName; global $systemID; $title = "Front history · " . $systemCommonName; require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/header.php';

function getMember(string $id) {
    global $systemID;

    $members = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$systemID-members.json"), true);
    $member = null;

    foreach ($members as $m) {
        if ($m["id"] === $id) $member = $m;
    }

    return $member;
}

?>

    <br>
    <div class="container" id="page-content">
        <?php

        $switches = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$systemID-switches.json"), true);
        uksort($switches, function ($a, $b) {
            return strtotime($b["timestamp"]) - strtotime($a["timestamp"]);
        });

        function getSwitchesForDay(int $day) {
            global $switches;

            $filtered = array_values(array_filter($switches, function ($i) use ($day) {
                $diff = strtotime(date("Y-m-d")) - strtotime(explode("T", $i["timestamp"])[0]);
                return $diff <= (86400 * $day) && $diff > (86400 * ($day - 1));
            }));

            uksort($filtered, function ($a, $b) {
                return strtotime($b["timestamp"]) - strtotime($a["timestamp"]);
            });

            return $filtered;
        }

        function getSwitchBefore(string $id) {
            global $switches;

            $currentPassed = false;
            $before = null;

            foreach ($switches as $switch) {
                if ($currentPassed) {
                    $before = $switch;
                    break;
                } else {
                    if ($switch["id"] === $id) {
                        $currentPassed = true;
                    }
                }
            }

            return $before;
        }

        function isNotToday(int $timestamp, int $offset) {
            if (date('Y-m-d', $timestamp) !== date('Y-m-d', time() - (86400 * $offset))) {
                return true;
            } else {
                return false;
            }
        }

        $switches1  = getSwitchesForDay(0);
        $switches2  = getSwitchesForDay(1);
        $switches3  = getSwitchesForDay(2);
        $switches4  = getSwitchesForDay(3);
        $switches5  = getSwitchesForDay(4);
        $switches6  = getSwitchesForDay(5);
        $switches7  = getSwitchesForDay(6);
        $switches8  = getSwitchesForDay(7);
        $switches9  = getSwitchesForDay(8);
        $switches10 = getSwitchesForDay(9);

        ?>
        <h2>Front history in the <?= $systemCommonName ?></h2>
        <h4>Today</h4>
        <?php

        $fronters = array_map(function ($i) {
            return [
                "member" => $i["members"][0],
                "date" => strtotime($i["timestamp"])
            ];
        }, $switches1);

        $fronters[] = [
            "member" => $switches2[0] ? $switches2[0]["members"][0] : ($switches3[0] ? $switches3[0]["members"][0] : ($switches4[0] ? $switches4[0]["members"][0] : ($switches5[0] ? $switches5[0]["members"][0] : ($switches6[0] ? $switches6[0]["members"][0] : ($switches7[0] ? $switches7[0]["members"][0] : ($switches8[0] ? $switches8[0]["members"][0] : ($switches9[0] ? $switches9[0]["members"][0] : $switches10[0]["members"][0]))))))),
            "date" => strtotime($switches2[0] ? $switches2[0]["timestamp"] : ($switches3[0] ? $switches3[0]["timestamp"] : ($switches4[0] ? $switches4[0]["timestamp"] : ($switches5[0] ? $switches5[0]["timestamp"] : ($switches6[0] ? $switches6[0]["timestamp"] : ($switches7[0] ? $switches7[0]["timestamp"] : ($switches8[0] ? $switches8[0]["timestamp"] : ($switches9[0] ? $switches9[0]["timestamp"] : $switches10[0]["timestamp"]))))))))
        ];

        $fronters = array_unique($fronters, SORT_REGULAR);

        foreach ($fronters as $fronter): $member = getMember($fronter["member"]);
            ?>
        <div class="fronter">
            <span class="fronter-date" style="opacity:.5;font-family: monospace;font-size:14px;vertical-align: middle;">
                <?= isNotToday($fronter["date"], 0) ? "00:00" : date('H:i', $fronter["date"]) ?>
            </span>
            <span class="fronter-profile" style="vertical-align: middle;">
                <a class="member-link" href="/<?= $systemID === "gdapd" ? "raindrops" : "cloudburst" ?>/<?= $member["name"] ?>">
                    <img src="/assets/uploads/pt<?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/uploads/pt-" . $member['name'] . ".png") ? "-" . $member['name'] : "" ?>.png" style="width:24px;"> <?= $member["display_name"] ?? $member["name"] ?>
                </a>
            </span>
        </div>
        <?php endforeach; ?>
        <h4 style="margin-top:15px;">Yesterday</h4>
        <?php

        $fronters = array_map(function ($i) {
            return [
                "member" => $i["members"][0],
                "date" => strtotime($i["timestamp"])
            ];
        }, $switches2);

        $fronters[] = [
            "member" => $switches3[0] ? $switches3[0]["members"][0] : ($switches4[0] ? $switches4[0]["members"][0] : ($switches5[0] ? $switches5[0]["members"][0] : ($switches6[0] ? $switches6[0]["members"][0] : ($switches7[0] ? $switches7[0]["members"][0] : ($switches8[0] ? $switches8[0]["members"][0] : ($switches9[0] ? $switches9[0]["members"][0] : $switches10[0]["members"][0])))))),
            "date" => strtotime($switches3[0] ? $switches3[0]["timestamp"] : ($switches4[0] ? $switches4[0]["timestamp"] : ($switches5[0] ? $switches5[0]["timestamp"] : ($switches6[0] ? $switches6[0]["timestamp"] : ($switches7[0] ? $switches7[0]["timestamp"] : ($switches8[0] ? $switches8[0]["timestamp"] : ($switches9[0] ? $switches9[0]["timestamp"] : $switches10[0]["timestamp"])))))))
        ];

        $fronters = array_unique($fronters, SORT_REGULAR);

        foreach ($fronters as $fronter): $member = getMember($fronter["member"]);
            ?>
            <div class="fronter">
            <span class="fronter-date" style="opacity:.5;font-family: monospace;font-size:14px;vertical-align: middle;">
                <?= isNotToday($fronter["date"], 1) ? "00:00" : date('H:i', $fronter["date"]) ?>
            </span>
                <span class="fronter-profile" style="vertical-align: middle;">
                <a class="member-link" href="/<?= $systemID === "gdapd" ? "raindrops" : "cloudburst" ?>/<?= $member["name"] ?>">
                    <img src="/assets/uploads/pt<?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/uploads/pt-" . $member['name'] . ".png") ? "-" . $member['name'] : "" ?>.png" style="width:24px;"> <?= $member["display_name"] ?? $member["name"] ?>
                </a>
            </span>
            </div>
        <?php endforeach; ?>
        <h4 style="margin-top:15px;"><?= date('D j M', time() - (86400 * 2)) ?></h4>
        <?php

        $fronters = array_map(function ($i) {
            return [
                "member" => $i["members"][0],
                "date" => strtotime($i["timestamp"])
            ];
        }, $switches3);

        $fronters[] = [
            "member" => $switches4[0] ? $switches4[0]["members"][0] : ($switches5[0] ? $switches5[0]["members"][0] : ($switches6[0] ? $switches6[0]["members"][0] : ($switches7[0] ? $switches7[0]["members"][0] : ($switches8[0] ? $switches8[0]["members"][0] : ($switches9[0] ? $switches9[0]["members"][0] : $switches10[0]["members"][0]))))),
            "date" => strtotime($switches4[0] ? $switches4[0]["timestamp"] : ($switches5[0] ? $switches5[0]["timestamp"] : ($switches6[0] ? $switches6[0]["timestamp"] : ($switches7[0] ? $switches7[0]["timestamp"] : ($switches8[0] ? $switches8[0]["timestamp"] : ($switches9[0] ? $switches9[0]["timestamp"] : $switches10[0]["timestamp"]))))))
        ];

        $fronters = array_unique($fronters, SORT_REGULAR);

        foreach ($fronters as $fronter): $member = getMember($fronter["member"]);
            ?>
            <div class="fronter">
            <span class="fronter-date" style="opacity:.5;font-family: monospace;font-size:14px;vertical-align: middle;">
                <?= isNotToday($fronter["date"], 2) ? "00:00" : date('H:i', $fronter["date"]) ?>
            </span>
                <span class="fronter-profile" style="vertical-align: middle;">
                <a class="member-link" href="/<?= $systemID === "gdapd" ? "raindrops" : "cloudburst" ?>/<?= $member["name"] ?>">
                    <img src="/assets/uploads/pt<?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/uploads/pt-" . $member['name'] . ".png") ? "-" . $member['name'] : "" ?>.png" style="width:24px;"> <?= $member["display_name"] ?? $member["name"] ?>
                </a>
            </span>
            </div>
        <?php endforeach; ?>
        <h4 style="margin-top:15px;"><?= date('D j M', time() - (86400 * 3)) ?></h4>
        <?php

        $fronters = array_map(function ($i) {
            return [
                "member" => $i["members"][0],
                "date" => strtotime($i["timestamp"])
            ];
        }, $switches4);

        $fronters[] = [
            "member" => $switches5[0] ? $switches5[0]["members"][0] : ($switches6[0] ? $switches6[0]["members"][0] : ($switches7[0] ? $switches7[0]["members"][0] : ($switches8[0] ? $switches8[0]["members"][0] : ($switches9[0] ? $switches9[0]["members"][0] : $switches10[0]["members"][0])))),
            "date" => strtotime($switches5[0] ? $switches5[0]["timestamp"] : ($switches6[0] ? $switches6[0]["timestamp"] : ($switches7[0] ? $switches7[0]["timestamp"] : ($switches8[0] ? $switches8[0]["timestamp"] : ($switches9[0] ? $switches9[0]["timestamp"] : $switches10[0]["timestamp"])))))
        ];

        $fronters = array_unique($fronters, SORT_REGULAR);

        foreach ($fronters as $fronter): $member = getMember($fronter["member"]);
            ?>
            <div class="fronter">
            <span class="fronter-date" style="opacity:.5;font-family: monospace;font-size:14px;vertical-align: middle;">
                <?= isNotToday($fronter["date"], 3) ? "00:00" : date('H:i', $fronter["date"]) ?>
            </span>
                <span class="fronter-profile" style="vertical-align: middle;">
                <a class="member-link" href="/<?= $systemID === "gdapd" ? "raindrops" : "cloudburst" ?>/<?= $member["name"] ?>">
                    <img src="/assets/uploads/pt<?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/uploads/pt-" . $member['name'] . ".png") ? "-" . $member['name'] : "" ?>.png" style="width:24px;"> <?= $member["display_name"] ?? $member["name"] ?>
                </a>
            </span>
            </div>
        <?php endforeach; ?>
        <h4 style="margin-top:15px;"><?= date('D j M', time() - (86400 * 4)) ?></h4>
        <?php

        $fronters = array_map(function ($i) {
            return [
                "member" => $i["members"][0],
                "date" => strtotime($i["timestamp"])
            ];
        }, $switches5);

        $fronters[] = [
            "member" => $switches6[0] ? $switches6[0]["members"][0] : ($switches7[0] ? $switches7[0]["members"][0] : ($switches8[0] ? $switches8[0]["members"][0] : ($switches9[0] ? $switches9[0]["members"][0] : $switches10[0]["members"][0]))),
            "date" => strtotime($switches6[0] ? $switches6[0]["timestamp"] : ($switches7[0] ? $switches7[0]["timestamp"] : ($switches8[0] ? $switches8[0]["timestamp"] : ($switches9[0] ? $switches9[0]["timestamp"] : $switches10[0]["timestamp"]))))
        ];

        $fronters = array_unique($fronters, SORT_REGULAR);

        foreach ($fronters as $fronter): $member = getMember($fronter["member"]);
            ?>
            <div class="fronter">
            <span class="fronter-date" style="opacity:.5;font-family: monospace;font-size:14px;vertical-align: middle;">
                <?= isNotToday($fronter["date"], 4) ? "00:00" : date('H:i', $fronter["date"]) ?>
            </span>
                <span class="fronter-profile" style="vertical-align: middle;">
                <a class="member-link" href="/<?= $systemID === "gdapd" ? "raindrops" : "cloudburst" ?>/<?= $member["name"] ?>">
                    <img src="/assets/uploads/pt<?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/uploads/pt-" . $member['name'] . ".png") ? "-" . $member['name'] : "" ?>.png" style="width:24px;"> <?= $member["display_name"] ?? $member["name"] ?>
                </a>
            </span>
            </div>
        <?php endforeach; ?>
        <h4 style="margin-top:15px;"><?= date('D j M', time() - (86400 * 5)) ?></h4>
        <?php

        $fronters = array_map(function ($i) {
            return [
                "member" => $i["members"][0],
                "date" => strtotime($i["timestamp"])
            ];
        }, $switches6);

        $fronters[] = [
            "member" => $switches7[0] ? $switches7[0]["members"][0] : ($switches8[0] ? $switches8[0]["members"][0] : ($switches9[0] ? $switches9[0]["members"][0] : $switches10[0]["members"][0])),
            "date" => strtotime($switches7[0] ? $switches7[0]["timestamp"] : ($switches8[0] ? $switches8[0]["timestamp"] : ($switches9[0] ? $switches9[0]["timestamp"] : $switches10[0]["timestamp"])))
        ];

        $fronters = array_unique($fronters, SORT_REGULAR);

        foreach ($fronters as $fronter): $member = getMember($fronter["member"]);
            ?>
            <div class="fronter">
            <span class="fronter-date" style="opacity:.5;font-family: monospace;font-size:14px;vertical-align: middle;">
                <?= isNotToday($fronter["date"], 5) ? "00:00" : date('H:i', $fronter["date"]) ?>
            </span>
                <span class="fronter-profile" style="vertical-align: middle;">
                <a class="member-link" href="/<?= $systemID === "gdapd" ? "raindrops" : "cloudburst" ?>/<?= $member["name"] ?>">
                    <img src="/assets/uploads/pt<?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/uploads/pt-" . $member['name'] . ".png") ? "-" . $member['name'] : "" ?>.png" style="width:24px;"> <?= $member["display_name"] ?? $member["name"] ?>
                </a>
            </span>
            </div>
        <?php endforeach; ?>
        <h4 style="margin-top:15px;"><?= date('D j M', time() - (86400 * 6)) ?></h4>
        <?php

        $fronters = array_map(function ($i) {
            return [
                "member" => $i["members"][0],
                "date" => strtotime($i["timestamp"])
            ];
        }, $switches7);

        $fronters[] = [
            "member" => $switches8[0] ? $switches8[0]["members"][0] : ($switches9[0] ? $switches9[0]["members"][0] : $switches10[0]["members"][0]),
            "date" => strtotime($switches8[0] ? $switches8[0]["timestamp"] : ($switches9[0] ? $switches9[0]["timestamp"] : $switches10[0]["timestamp"]))
        ];

        $fronters = array_unique($fronters, SORT_REGULAR);

        foreach ($fronters as $fronter): $member = getMember($fronter["member"]);
            ?>
            <div class="fronter">
            <span class="fronter-date" style="opacity:.5;font-family: monospace;font-size:14px;vertical-align: middle;">
                <?= isNotToday($fronter["date"], 6) ? "00:00" : date('H:i', $fronter["date"]) ?>
            </span>
                <span class="fronter-profile" style="vertical-align: middle;">
                <a class="member-link" href="/<?= $systemID === "gdapd" ? "raindrops" : "cloudburst" ?>/<?= $member["name"] ?>">
                    <img src="/assets/uploads/pt<?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/uploads/pt-" . $member['name'] . ".png") ? "-" . $member['name'] : "" ?>.png" style="width:24px;"> <?= $member["display_name"] ?? $member["name"] ?>
                </a>
            </span>
            </div>
        <?php endforeach; ?>
        <h4 style="margin-top:15px;"><?= date('D j M', time() - (86400 * 7)) ?></h4>
        <?php

        $fronters = array_map(function ($i) {
            return [
                "member" => $i["members"][0],
                "date" => strtotime($i["timestamp"])
            ];
        }, $switches8);

        $fronters[] = [
            "member" => $switches9[0] ? $switches9[0]["members"][0] : $switches10[0]["members"][0],
            "date" => strtotime($switches9[0] ? $switches9[0]["timestamp"] : $switches10[0]["timestamp"])
        ];

        $fronters = array_unique($fronters, SORT_REGULAR);

        foreach ($fronters as $fronter): $member = getMember($fronter["member"]);
            ?>
            <div class="fronter">
            <span class="fronter-date" style="opacity:.5;font-family: monospace;font-size:14px;vertical-align: middle;">
                <?= isNotToday($fronter["date"], 7) ? "00:00" : date('H:i', $fronter["date"]) ?>
            </span>
                <span class="fronter-profile" style="vertical-align: middle;">
                <a class="member-link" href="/<?= $systemID === "gdapd" ? "raindrops" : "cloudburst" ?>/<?= $member["name"] ?>">
                    <img src="/assets/uploads/pt<?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/uploads/pt-" . $member['name'] . ".png") ? "-" . $member['name'] : "" ?>.png" style="width:24px;"> <?= $member["display_name"] ?? $member["name"] ?>
                </a>
            </span>
            </div>
        <?php endforeach; ?>
        <h4 style="margin-top:15px;"><?= date('D j M', time() - (86400 * 8)) ?></h4>
        <?php

        $fronters = array_map(function ($i) {
            return [
                "member" => $i["members"][0],
                "date" => strtotime($i["timestamp"])
            ];
        }, $switches9);

        $fronters[] = [
            "member" => $switches10[0] ? $switches10[0]["members"][0] : getSwitchBefore($switches9[count($switches9) - 1]["id"])["members"][0],
            "date" => strtotime($switches10[0] ? $switches10[0]["timestamp"] : getSwitchBefore($switches9[count($switches9) - 1]["id"])["timestamp"])
        ];

        $fronters = array_unique($fronters, SORT_REGULAR);

        foreach ($fronters as $fronter): $member = getMember($fronter["member"]);
            ?>
            <div class="fronter">
            <span class="fronter-date" style="opacity:.5;font-family: monospace;font-size:14px;vertical-align: middle;">
                <?= isNotToday($fronter["date"], 8) ? "00:00" : date('H:i', $fronter["date"]) ?>
            </span>
                <span class="fronter-profile" style="vertical-align: middle;">
                <a class="member-link" href="/<?= $systemID === "gdapd" ? "raindrops" : "cloudburst" ?>/<?= $member["name"] ?>">
                    <img src="/assets/uploads/pt<?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/uploads/pt-" . $member['name'] . ".png") ? "-" . $member['name'] : "" ?>.png" style="width:24px;"> <?= $member["display_name"] ?? $member["name"] ?>
                </a>
            </span>
            </div>
        <?php endforeach; ?>
        <h4 style="margin-top:15px;"><?= date('D j M', time() - (86400 * 9)) ?></h4>
        <?php

        $fronters = array_map(function ($i) {
            return [
                "member" => $i["members"][0],
                "date" => strtotime($i["timestamp"])
            ];
        }, $switches10);

        $fronters = array_unique($fronters, SORT_REGULAR);

        foreach ($fronters as $fronter): $member = getMember($fronter["member"]);
            ?>
            <div class="fronter">
            <span class="fronter-date" style="opacity:.5;font-family: monospace;font-size:14px;vertical-align: middle;">
                <?= isNotToday($fronter["date"], 9) ? "00:00" : date('H:i', $fronter["date"]) ?>
            </span>
                <span class="fronter-profile" style="vertical-align: middle;">
                <a class="member-link" href="/<?= $systemID === "gdapd" ? "raindrops" : "cloudburst" ?>/<?= $member["name"] ?>">
                    <img src="/assets/uploads/pt<?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/assets/uploads/pt-" . $member['name'] . ".png") ? "-" . $member['name'] : "" ?>.png" style="width:24px;"> <?= $member["display_name"] ?? $member["name"] ?>
                </a>
            </span>
            </div>
        <?php endforeach; ?>
    </div>

<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/footer.php'; ?>