summaryrefslogtreecommitdiff
path: root/pages/travelling.inc
diff options
context:
space:
mode:
Diffstat (limited to 'pages/travelling.inc')
-rw-r--r--pages/travelling.inc223
1 files changed, 0 insertions, 223 deletions
diff --git a/pages/travelling.inc b/pages/travelling.inc
deleted file mode 100644
index c7eaadf..0000000
--- a/pages/travelling.inc
+++ /dev/null
@@ -1,223 +0,0 @@
-<?php
-
-require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/init.inc"; global $title; global $isLoggedIn; global $lang; global $pages; global $isLowerLoggedIn;
-$travelling = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/travelling/travelling.json"), true);
-$app = $GLOBALS["ColdHazeApp"];
-
-require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/functions.inc";
-
-if (isset($_GET['toggleTravel']) && $isLoggedIn) {
- if (isset($travelling[$_GET['member']])) {
- $id = $_GET['member'];
- $equestria = isset($_GET['equestria']);
- $member = getSystemMember(getMemberSystem($id), $id);
- $system = getMemberSystem($id);
- $metadata = parseMetadata(json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata/$id.json"), true));
- $travellingSystem = $system === "gdapd" ? "ynmuc" : "gdapd";
-
- if ($travelling[$_GET['member']]["travelling"]) {
-
- $travelling[$_GET['member']]["travelling"] = false;
- $travelling[$_GET['member']]["history"][count($travelling[$_GET['member']]["history"]) - 1]["end"] = date("c");
-
- // Insert code here to run after a travelling member is DELETED.
- // $id is the member ID (e.g. rirgf)
- // $member is the member object
- // $system is the ID of the system the member comes from
- // $travellingSystem is the ID of the system the member visits
- // $metadata is the ponies.equestria.horse metadata object
- // $travellingMember is the member ID from the other system
- if (isset($travelling[$_GET['member']]["pluralkit"])) {
- $travellingMember = $travelling[$_GET['member']]["pluralkit"];
- $reqOptions = [
- 'http' => [
- 'method' => "DELETE",
- 'header' => "Authorization: " . $app["pluralkit"][$travellingSystem === "gdapd" ? "raindrops" : "cloudburst"]
- ]
- ];
-
- $reqContext = stream_context_create($reqOptions);
-
- // No actual data is received on DELETE, so we don't even bother trying to collect req response; if it fails it will put a warning in the logs anyway.
- //sleep(1);
- //file_get_contents("https://api.pluralkit.me/v2/members/$travellingMember", false, $reqContext);
- }
- } else {
- $travelling[$_GET['member']]["travelling"] = true;
- $travelling[$_GET['member']]["equestria"] = $equestria;
- $travelling[$_GET['member']]["pluralkit"] = null;
- $travelling[$_GET['member']]["history"][] = [
- "start" => date("c"),
- "end" => null,
- "equestria" => $equestria
- ];
-
- if (!$equestria) {
- // Insert code here to run after a travelling member is ADDED.
- // $id is the member ID (e.g. rirgf)
- // $member is the member
- // $system is the system the member comes from
- // $metadata is the ponies.equestria.horse metadata
- // $travellingMember is unset here
- // Store the travelling member ID in $travelling[$id]['pluralkit']
- $reqOptions = [
- 'http' => [
- 'method' => "POST",
- 'header' => "Authorization: " . $app["pluralkit"][$travellingSystem === "gdapd" ? "raindrops" : "cloudburst"] . "\r\n" .
- "Content-Type: application/json",
- 'content' => json_encode([
- 'name' => "$member[name]-travelling",
- 'display_name' => $member["display_name"],
- 'color' => $member["color"],
- 'birthday' => $member["birthday"],
- 'created' => $member["created"],
- 'pronouns' => $member["pronouns"],
- 'avatar_url' => $member["avatar_url"],
- 'banner' => $member["banner"],
- 'description' => "**This pony is visiting this system from the " . ($system === "gdapd" ? "Raindrops System" : "Cloudburst System") . ". They are not a permanent member of this system**\n\n$member[description]",
- 'proxy_tags' => array_map(function ($i) {
- $i["prefix"] = "+" . $i['prefix'];
- return $i;
- }, $member["proxy_tags"]),
- 'privacy' => $member["privacy"]
- ])
- ]
- ];
-
- $reqContext = stream_context_create($reqOptions);
-
- //sleep(1);
- //$member = json_decode(file_get_contents("https://api.pluralkit.me/v2/members", false, $reqContext), true);
-
- // Member exists?
- //if (isset($member)) {
- //$travelling[$id]['pluralkit'] = $member["id"];
- //}
- }
- }
- }
-
- file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/cache/navigation.json", "{}");
- file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/cache/home.json", "{}");
- createJob("RefreshCache", []);
-
- header("Location: /-/travelling");
- file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/travelling/travelling.json", utf8_encode(json_encode($travelling, JSON_PRETTY_PRINT)));
- die();
-}
-
-global $use2023UI;
-
-require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/components/header.inc';
-global $travelling;
-
-?>
-
-<style>
- .member-link:hover, .relation-intro:hover {
- opacity: .75;
- }
-
- .member-link:active, .relation-intro:active {
- opacity: .5;
- }
-</style>
-
-<br>
-<div class="container">
- <div>
- <h2>System travelling</h2>
- <?php foreach ([
- ...array_values(array_filter(scoreOrderGlobal(), function ($i) use ($travelling) {
- return $travelling[$i['id']]["travelling"] && ($i["_system"] === "gdapd" || $i["_system"] === "ynmuc");
- })),
- "SEPARATOR",
- ...array_values(array_filter(scoreOrderGlobal(), function ($i) use ($travelling) {
- return !$travelling[$i['id']]["travelling"] && ($i["_system"] === "gdapd" || $i["_system"] === "ynmuc");
- }))
- ] as $member): if (is_string($member)): ?>
- <hr>
- <?php else: ?>
- <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 2fr max-content;">
- <a 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;display:flex;align-items:center;text-decoration: none;" href="/<?= $member["name"] ?>">
- <img src="<?= getAsset($member["system"], $member["id"], "heads") ?>" style="width:24px;">&nbsp;<?= $member["display_name"] ?? $member["name"] ?>
- </a>
-
- <div class="relation-item" style="display:flex;align-items:center;margin-left:10px;padding:0 20px;">
- <div>
- <b style="padding-right:5px;">Current location:</b><span class="list-separator-mobile"><br></span>
- <?php $system = $member['_system'] === "gdapd" ? ($travelling[$member['id']]["travelling"] ? "ynmuc" : "gdapd") : ($travelling[$member['id']]["travelling"] ? "gdapd" : "ynmuc"); ?>
- <?php if ($travelling[$member['id']]["travelling"] && $travelling[$member['id']]["equestria"]): ?>
- <?php if ($member["_metadata"]["fictive"]): ?>
- <img style="width:24px;" src="/assets/logo/equestria.png"> Equestria
- <?php else: ?>
- <img style="width:24px;" src="/assets/logo/celeste.png"> Celeste
- <?php endif; ?>
- <?php else: ?>
- <a class="member-link" href="/<?= $system === "gdapd" ? "raindrops" : "cloudburst" ?>"><img style="width:24px;border-radius:5px;" src="<?= getAsset($system) ?>"> <?= $system === "gdapd" ? "Raindrops" : "Cloudburst" ?> System</a>
- <?php endif; ?>
- <?php if ($travelling[$member['id']]["travelling"]): ?>
- <span class="text-muted">(<?= timeAgo($travelling[$member['id']]["history"][count($travelling[$member['id']]["history"]) - 1]["start"]) ?>)</span>
- <?php endif; ?>
- </div>
- </div>
-
- <div>
- <?php if ($travelling[$member['id']]["travelling"]): ?>
- <div class="dropdown">
- <button type="button" class="btn btn-outline-<?= $use2023UI ? "primary" : "danger" ?> dropdown-toggle" data-bs-toggle="dropdown" <?= $isLowerLoggedIn ? "disabled" : "" ?>>
- Stop travelling
- </button>
- <ul class="dropdown-menu">
- <li><a class="dropdown-item" href="?toggleTravel&member=<?= $member['id'] ?>">Stop travelling</a></li>
- </ul>
- </div>
- <?php else: ?>
- <div class="dropdown">
- <button type="button" class="btn btn-outline-<?= $use2023UI ? "primary" : "success" ?> dropdown-toggle" data-bs-toggle="dropdown" <?= $isLowerLoggedIn ? "disabled" : "" ?>>
- Start travelling
- </button>
- <ul class="dropdown-menu">
- <li><a class="dropdown-item" href="?toggleTravel&member=<?= $member['id'] ?>"><img style="width:24px;border-radius:5px;" src="<?= getAsset($system === "gdapd" ? "ynmuc" : "gdapd") ?>"> <?= $system === "gdapd" ? "Cloudburst" : "Raindrops" ?> System</a></li>
- <?php if ($member["_metadata"]["fictive"]): ?>
- <li><a class="dropdown-item" href="?toggleTravel&equestria&member=<?= $member['id'] ?>"><img style="width:24px;" src="/assets/logo/equestria.png"> Equestria</a></li>
- <?php endif; if (isset($member["_metadata"]["fictive2"]) && $member["_metadata"]["fictive2"]): ?>
- <li><a class="dropdown-item" href="?toggleTravel&equestria&member=<?= $member['id'] ?>"><img style="width:24px;" src="/assets/logo/celeste.png"> Celeste</a></li>
- <?php endif; ?>
- </ul>
- </div>
- <?php endif; ?>
- </div>
- </div>
- <?php endif; endforeach; ?>
- </div>
-
- <style>
- @media (max-width: 991px) {
- .relation {
- grid-template-columns: 1fr !important;
- }
-
- .relation-intro {
- text-align: center;
- border-bottom-left-radius: 0 !important;
- border-top-right-radius: 10px;
- border-right: none !important;
- border-bottom: 1px solid rgba(255, 255, 255, .1);
- }
-
- .relation-item-marefriends {
- margin-top: 20px !important;
- }
-
- .relation-item {
- margin-top: 10px;
- margin-left: 0 !important;
- padding: 10px 0 !important;
- text-align: center;
- }
- }
- </style>
-</div>
-
-<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/components/footer.inc'; ?>