summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assets/logo/celeste.pngbin0 -> 171762 bytes
-rw-r--r--includes/components/fullbanner.inc2
-rw-r--r--includes/flags.json3
-rw-r--r--includes/util/banner.inc150
-rw-r--r--includes/util/homepage.inc2
-rw-r--r--includes/util/session.inc16
-rw-r--r--pages/travelling.inc17
7 files changed, 47 insertions, 143 deletions
diff --git a/assets/logo/celeste.png b/assets/logo/celeste.png
new file mode 100644
index 0000000..a257553
--- /dev/null
+++ b/assets/logo/celeste.png
Binary files differ
diff --git a/includes/components/fullbanner.inc b/includes/components/fullbanner.inc
index ddd59df..b8f1f27 100644
--- a/includes/components/fullbanner.inc
+++ b/includes/components/fullbanner.inc
@@ -22,7 +22,7 @@
<?php elseif ($travelling[$memberID]['travelling'] && $travelling[$memberID]['equestria']): ?>
<br>
<div class="alert alert-primary" style="margin-bottom: 0 !important;">
- <?= getMiniName($memberData["display_name"] ?? $memberData["name"]) ?> is on a trip to Equestria. <?= str_replace("%1", getMemberPronouns($memberData["pronouns"])["subjective"], str_replace("%2", getMemberPronouns($memberData["pronouns"])["third"] ? "is" : "are", "Therefore %1 %2 currently not in the ")) ?><?= $systemCommonName ?>.
+ <?= getMiniName($memberData["display_name"] ?? $memberData["name"]) ?> is on a trip to <?= $metadata["fictive"] ? "Equestria" : "Celeste" ?>. <?= str_replace("%1", getMemberPronouns($memberData["pronouns"])["subjective"], str_replace("%2", getMemberPronouns($memberData["pronouns"])["third"] ? "is" : "are", "Therefore %1 %2 currently not in the ")) ?><?= $systemCommonName ?>.
</div>
<br>
<?php endif; ?> \ No newline at end of file
diff --git a/includes/flags.json b/includes/flags.json
index 5fb7a89..9d21e1f 100644
--- a/includes/flags.json
+++ b/includes/flags.json
@@ -7,7 +7,8 @@
"protector": "!!Protector",
"leader": "Leader",
- "fictive": "!!Fictive",
+ "fictive": "!!Fictive (Equestria)",
+ "fictive2": "Fictive (Celeste)",
"sexual_features": "Enable sexual features (for ponies below 16)",
"sexually_active": "!!Preemptive sexual consent",
"robot": "!!Robot",
diff --git a/includes/util/banner.inc b/includes/util/banner.inc
index 2a493f8..e30f064 100644
--- a/includes/util/banner.inc
+++ b/includes/util/banner.inc
@@ -177,7 +177,7 @@ function getMemberBannerData(string $id, string $system, bool $french = false) {
if ($travelling[$member['id']]["travelling"] && $travelling[$member['id']]["equestria"]) {
$systemData['page'] = null;
- $systemData['icon'] = "../logo/equestria.png";
+ $systemData['icon'] = "/assets/logo/equestria.png";
$systemData['name'] = "Equestria";
$systemData['full_name'] = "Equestria";
$systemData['temporary'] = true;
@@ -288,41 +288,19 @@ function getMemberBannerData(string $id, string $system, bool $french = false) {
$badges = [];
- if ($metadata["host"] ?? false) {
- if (!$travelling[$member['id']]["travelling"]) {
- $badges[] = [
- "id" => "mcf",
- "color" => "primary",
- "html" => (
- $french
- ?
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Fronteuse la plus présente</b><br>Elle est le membre qui fronte le plus dans son système." class="badge rounded-pill bg-primary">Fronteuse la plus présente</span>'
- :
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Most common fronter</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' the one who fronts the most often in ' . getMemberPronouns($member['pronouns'])["possessive_det"] . ' system." class="badge rounded-pill bg-primary">Most common fronter</span>'
- )
- ];
- }
- }
-
- /*if (($metadata["age_spells"] ?? false) && !$french) {
- $badges[] = [
- "id" => "age_spells",
- "color" => "#6f42c1",
- "html" => '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Affected by age spells</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' can feel younger than ' . getMemberPronouns($member['pronouns'])["subjective"] . ' actually ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' when somepony else casts an age spell on ' . getMemberPronouns($member['pronouns'])["object"] . '." class="badge rounded-pill" style="background-color: #6f42c1;">Affected by age spells</span>'
- ];
- }*/
-
if ($metadata["fictive"] ?? false) {
$badges[] = [
"id" => "fictive",
"color" => "info",
- "html" => (
- $french
- ?
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Fictive</b><br>Elle est basée sur la personnalité, apparence et comportement d\'un personnage qui est fictif dans ce monde." class="badge rounded-pill bg-info">Fictive</span>'
- :
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Fictive</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' based on the personality, look and behavior of a character that is fictional in this world." class="badge rounded-pill bg-info">Fictive</span>'
- )
+ "html" => '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Fictive</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' based on the personality, look and behavior of a character that is from Equestria." class="badge rounded-pill bg-info" style="height: 24px;"><img style="width: 16px;" src="/assets/logo/equestria.png"><span style="vertical-align: middle;">&nbsp;Fictive</span></span>'
+ ];
+ }
+
+ if ($metadata["fictive2"] ?? false) {
+ $badges[] = [
+ "id" => "fictive2",
+ "color" => "d63384",
+ "html" => '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Fictive</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' based on the personality, look and behavior of a character that is from Celeste." class="badge rounded-pill" style="height: 24px;background-color: #d63384;"><img style="width: 16px;" src="/assets/logo/celeste.png"><span style="vertical-align: middle;">&nbsp;Fictive</span></span>'
];
}
@@ -330,13 +308,7 @@ function getMemberBannerData(string $id, string $system, bool $french = false) {
$badges[] = [
"id" => "persecutor",
"color" => "danger",
- "html" => (
- $french
- ?
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Persécutrice</b><br>Elle se comporte de façon nuisible à l\'égart des autres ou des autres membres du système, potentiellement comme une tentative malavisée de protéger le système." class="badge rounded-pill bg-danger">Persécutrice</span>'
- :
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Persecutor</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "acts" : "act") . ' harmfully towards other system members and/or others, potentially as a misguided attempt to protect the system." class="badge rounded-pill bg-danger">Persecutor</span>'
- )
+ "html" => '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Persecutor</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "acts" : "act") . ' harmfully towards other system members and/or others, potentially as a misguided attempt to protect the system." class="badge rounded-pill bg-danger" style="height:24px;display: inline-flex;align-items: center;position: relative;top: 1px;"><span>Persecutor</span></span>'
];
}
@@ -344,13 +316,7 @@ function getMemberBannerData(string $id, string $system, bool $french = false) {
$badges[] = [
"id" => "nonverbal",
"color" => "#6610f2",
- "html" => (
- $french
- ?
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Fronts less often</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "front" : "fronts") . ' less often than ' . getMemberPronouns($member['pronouns'])["possessive_det"] . ' headmates, this can due to various reasons." class="badge rounded-pill" style="background-color:#6610f2;">Fronte moins souvent</span>'
- :
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Fronts less often</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "front" : "fronts") . ' less often than ' . getMemberPronouns($member['pronouns'])["possessive_det"] . ' headmates, this can due to various reasons." class="badge rounded-pill" style="background-color:#6610f2;">Fronts less often</span>'
- )
+ "html" => '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Fronts less often</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "front" : "fronts") . ' less often than ' . getMemberPronouns($member['pronouns'])["possessive_det"] . ' headmates, this can be due to various reasons." class="badge rounded-pill" style="background-color:#6610f2;height:24px;display: inline-flex;align-items: center;position: relative;top: 1px;"><span>Fronts less often</span></span>'
];
}
@@ -358,21 +324,15 @@ function getMemberBannerData(string $id, string $system, bool $french = false) {
$badges[] = [
"id" => "nonverbal",
"color" => "#20c997",
- "html" => (
- $french
- ?
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Non verbale dans la réalité</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' non verbal in real life, although text communication is still possible." class="badge rounded-pill" style="background-color:#20c997;">Non verbal IRL</span>'
- :
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Non verbal IRL</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' non verbal in real life, although text communication is still possible." class="badge rounded-pill" style="background-color:#20c997;">Non verbal IRL</span>'
- )
+ "html" => '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Non verbal IRL</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' non verbal in real life, although text communication is still possible." class="badge rounded-pill" style="background-color:#20c997;height:24px;display: inline-flex;align-items: center;position: relative;top: 1px;"><span>Non verbal IRL</span></span>'
];
}
if ($member["name"] === "fusion") {
$badges[] = [
"id" => "fusion",
- "color" => "d63384",
- "html" => '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Fusion</b><br>She is the result of multiple ponies purposefully merging in a way that makes them impossible to tell apart." class="badge rounded-pill" style="background-color:#d63384;">Fusion</span>'
+ "color" => "333333",
+ "html" => '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Fusion</b><br>She is the result of multiple ponies purposefully merging in a way that makes them impossible to tell apart." class="badge rounded-pill" style="background-color:#333333;height:24px;display: inline-flex;align-items: center;position: relative;top: 1px;"><span>Fusion</span></span>'
];
}
@@ -380,13 +340,7 @@ function getMemberBannerData(string $id, string $system, bool $french = false) {
$badges[] = [
"id" => "leader",
"color" => "d6a833",
- "html" => (
- $french
- ?
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Leader</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' a leader in ' . getMemberPronouns($member['pronouns'])["possessive_det"] . ' system." class="badge rounded-pill" style="background-color:#fd7e14;">Dirigeante</span>'
- :
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Leader</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' a leader in ' . getMemberPronouns($member['pronouns'])["possessive_det"] . ' system." class="badge rounded-pill" style="background-color:#fd7e14;">Leader</span>'
- )
+ "html" => '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Leader</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' a leader in ' . getMemberPronouns($member['pronouns'])["possessive_det"] . ' system." class="badge rounded-pill" style="background-color:#fd7e14;height:24px;display: inline-flex;align-items: center;position: relative;top: 1px;"><span>Leader</span>'
];
}
@@ -394,13 +348,7 @@ function getMemberBannerData(string $id, string $system, bool $french = false) {
$badges[] = [
"id" => "protector",
"color" => "black",
- "html" => (
- $french
- ?
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>' . (getMemberPronouns($member['pronouns'])["gender"] === "female" ? "Protectrice" : (getMemberPronouns($member['pronouns'])["gender"] === "male" ? "Protecteur" : "Protectrice")) . '</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' a protector in the system and will front when somepony cannot handle it anymore." class="badge rounded-pill bg-black">' . (getMemberPronouns($member['pronouns'])["gender"] === "female" ? "Protectrice" : (getMemberPronouns($member['pronouns'])["gender"] === "male" ? "Protecteur" : "Protectrice")) . '</span>'
- :
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Protector</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' a protector in the system and will front when somepony cannot handle it anymore." class="badge rounded-pill bg-black">Protector</span>'
- )
+ "html" => '<span style="height:24px;display: inline-flex;align-items: center;position: relative;top: 1px;" data-bs-toggle="tooltip" data-bs-html="true" title="<b>Protector</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' a protector in the system and will front when somepony cannot handle it anymore." class="badge rounded-pill bg-black"><span>Protector</span></span>'
];
}
@@ -408,13 +356,7 @@ function getMemberBannerData(string $id, string $system, bool $french = false) {
$badges[] = [
"id" => "little",
"color" => "success",
- "html" => (
- $french
- ?
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Petit' . (getMemberPronouns($member['pronouns'])["gender"] === "female" ? "e" : (getMemberPronouns($member['pronouns'])["gender"] === "male" ? "" : "·e")) . '</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' mentally younger, and therefore behaves and feels younger than the body is." class="badge rounded-pill bg-success">Petit' . (getMemberPronouns($member['pronouns'])["gender"] === "female" ? "e" : (getMemberPronouns($member['pronouns'])["gender"] === "male" ? "" : "·e")) . '</span>'
- :
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Little</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' mentally younger, and therefore behaves and feels younger than the body is." class="badge rounded-pill bg-success">Little</span>'
- )
+ "html" => '<span style="height:24px;display: inline-flex;align-items: center;position: relative;top: 1px;" data-bs-toggle="tooltip" data-bs-html="true" title="<b>Little</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' mentally younger, and therefore behaves and feels younger than the body is." class="badge rounded-pill bg-success"><span>Little</span></span>'
];
}
@@ -422,67 +364,15 @@ function getMemberBannerData(string $id, string $system, bool $french = false) {
$badges[] = [
"id" => "younger",
"color" => "dark",
- "html" => (
- $french
- ?
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Plus jeune</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' younger than the body, but not young enough to be classified as a little." class="badge rounded-pill bg-dark">Plus jeune</span>'
- :
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Younger</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' younger than the body, but not young enough to be classified as a little." class="badge rounded-pill bg-dark">Younger</span>'
- )
+ "html" => '<span style="height:24px;display: inline-flex;align-items: center;position: relative;top: 1px;" data-bs-toggle="tooltip" data-bs-html="true" title="<b>Younger</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' younger than the body, but not young enough to be classified as a little." class="badge rounded-pill bg-dark"><span>Younger</span></span>'
];
}
- if (($metadata["age_regressor"] ?? false)) {
- if ($metadata["regression"] !== null && $metadata["regression"] !== false) {
- $regression = _header_getMember($metadata["regression"], $system);
- $badges[] = [
- "id" => "regressor_median",
- "color" => "secondary",
- "html" => (
- $french
- ?
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Régresseur d\'âge</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' capable of regressing ' . getMemberPronouns($member['pronouns'])["possessive_det"] . ' mental age, which causes ' . getMemberPronouns($member['pronouns'])["object"] . ' to become ' . (getMiniName($regression["display_name"] ?? $regression["name"])) . ', temporarily behaving and feeling younger than the body is." class="badge rounded-pill bg-secondary">Régresse en âge en <a href="/' . $regression["name"] . '">'. (getMiniName($regression["display_name"] ?? $regression["name"])) . '</a></span>'
- :
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Age regressor</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' capable of regressing ' . getMemberPronouns($member['pronouns'])["possessive_det"] . ' mental age, which causes ' . getMemberPronouns($member['pronouns'])["object"] . ' to become ' . (getMiniName($regression["display_name"] ?? $regression["name"])) . ', temporarily behaving and feeling younger than the body is." class="badge rounded-pill bg-secondary">Age regresses into <a href="/' . $regression["name"] . '">'. (getMiniName($regression["display_name"] ?? $regression["name"])) . '</a></span>'
- )
- ];
- }
- }
-
- if ($metadata["median"] !== null && $metadata["median"] !== false) {
- $source = _header_getMember($metadata["median"], $system);
- if ($metadata["little"] > 0) {
- $badges[] = [
- "id" => "regressed",
- "color" => "warning",
- "html" => (
- $french
- ?
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Régressée en âge</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' has regressed ' . getMemberPronouns($member['pronouns'])["possessive_det"] . ' mental age, making ' . getMemberPronouns($member['pronouns'])["object"] . ' ' . getMiniName($member["display_name"] ?? $member["name"]) . ' instead of ' . (getMiniName($source["display_name"] ?? $source["name"])) . ', temporarily behaving and feeling younger than the body is." class="badge rounded-pill bg-warning">Régressé en âge de <a href="/' . $source["name"] . '">' . (getMiniName($source["display_name"] ?? $source["name"])) . '</a></span>'
- :
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Age regressed</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' has regressed ' . getMemberPronouns($member['pronouns'])["possessive_det"] . ' mental age, making ' . getMemberPronouns($member['pronouns'])["object"] . ' ' . getMiniName($member["display_name"] ?? $member["name"]) . ' instead of ' . (getMiniName($source["display_name"] ?? $source["name"])) . ', temporarily behaving and feeling younger than the body is." class="badge rounded-pill bg-warning">Age regressed from <a href="/' . $source["name"] . '">' . (getMiniName($source["display_name"] ?? $source["name"])) . '</a></span>'
- )
- ];
- } else {
- $badges[] = [
- "id" => "facet",
- "color" => "light",
- "html" => (
- $french
- ?
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Facette</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' is a facet of ' . getMiniName($source["display_name"] ?? $source["name"]) . ', meaning ' . getMemberPronouns($member['pronouns'])["subjective"] . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' not totally independent of ' . getMiniName($source["display_name"] ?? $source["name"]) . '." class="badge rounded-pill bg-light">Facette de <a href="/' . $source["name"] . '">' . getMiniName($source["display_name"] ?? $source["name"]) . '</a></span>'
- :
- '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Facet</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' is a facet of ' . getMiniName($source["display_name"] ?? $source["name"]) . ', meaning ' . getMemberPronouns($member['pronouns'])["subjective"] . ' ' . (getMemberPronouns($member['pronouns'])["third"] ? "is" : "are") . ' not totally independent of ' . getMiniName($source["display_name"] ?? $source["name"]) . '." class="badge rounded-pill bg-light">Facet of <a href="/' . $source["name"] . '">' . getMiniName($source["display_name"] ?? $source["name"]) . '</a></span>'
- )
- ];
- }
- }
-
if (($isLoggedIn || $isLowerLoggedIn) && $metadata["alcohol"] !== null && $metadata["alcohol"] !== false) {
$badges[] = [
"id" => "alcohol",
"color" => "secondary",
- "html" => '<span data-bs-toggle="tooltip" data-bs-html="true" title="<b>Alcohol</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' drinks alcohol, and thus may be drunk or hungover at times." class="badge rounded-pill bg-secondary">Alcohol</span>'
+ "html" => '<span style="height:24px;display: inline-flex;align-items: center;position: relative;top: 1px;" data-bs-toggle="tooltip" data-bs-html="true" title="<b>Alcohol</b><br>' . ucfirst(getMemberPronouns($member['pronouns'])["subjective"]) . ' drinks alcohol, and thus may be drunk or hungover at times." class="badge rounded-pill bg-secondary"><span>Alcohol</span></span>'
];
}
diff --git a/includes/util/homepage.inc b/includes/util/homepage.inc
index ebb99da..3f4520d 100644
--- a/includes/util/homepage.inc
+++ b/includes/util/homepage.inc
@@ -24,7 +24,7 @@ function newHomepage($id, $page, $title) {
<span style="width: calc(100% - 37px); vertical-align: middle; margin-left: 5px;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= $member["display_name"] ?? $member["name"] ?></span>
<span style="vertical-align: middle; float:right;">
<?php if ($travelling[$member["id"]]["travelling"] && $travelling[$member["id"]]["equestria"]): ?>
- <img src="/assets/logo/equestria.png" style="width: 24px; height: 24px; margin-top: 5px;">
+ <img src="/assets/logo/<?= $member["_metadata"]["fictive"] ? "equestria" : ($member["_metadata"]["fictive2"] ? "celeste" : "") ?>.png" style="width: 24px; height: 24px; margin-top: 5px;">
<?php elseif ($travelling[$member["id"]]["travelling"]): ?>
<img src="<?= getAsset($id === "gdapd" ? "ynmuc" : "gdapd") ?>" style="width: 24px; height: 24px; margin-top: 5px;">
<?php endif; ?>
diff --git a/includes/util/session.inc b/includes/util/session.inc
index 63197bb..7554cfa 100644
--- a/includes/util/session.inc
+++ b/includes/util/session.inc
@@ -40,10 +40,6 @@ if (isset($token)) {
if (isset($data["profile"])) {
$_PROFILE = $data["profile"];
- $data["last"] = time();
- if (!isset($data["addresses"])) $data["addresses"] = [];
- $data["addresses"][$_SERVER["HTTP_X_FORWARDED_FOR"] ?? $_SERVER["REMOTE_ADDR"]] = time();
- file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/tokens/" . str_replace("/", "", $token), json_encode($data));
if (time() - $data["last"] > 86400 * 30) {
unlink($_SERVER['DOCUMENT_ROOT'] . "/includes/tokens/" . str_replace("/", "", $token));
@@ -51,6 +47,11 @@ if (isset($token)) {
$isLoggedIn = false;
$isLowerLoggedIn = false;
}
+
+ $data["last"] = time();
+ if (!isset($data["addresses"])) $data["addresses"] = [];
+ $data["addresses"][$_SERVER["HTTP_X_FORWARDED_FOR"] ?? $_SERVER["REMOTE_ADDR"]] = time();
+ file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/tokens/" . str_replace("/", "", $token), json_encode($data));
} else {
$_PROFILE = $data;
}
@@ -66,9 +67,6 @@ if (isset($token)) {
if (isset($data["profile"])) {
$_PROFILE = $data["profile"];
- $data["last"] = time();
- $data["addresses"][$_SERVER["HTTP_X_FORWARDED_FOR"] ?? $_SERVER["REMOTE_ADDR"]] = time();
- file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/tokens/" . str_replace("/", "", $token), json_encode($data));
if (time() - $data["last"] > 86400 * 30) {
unlink($_SERVER['DOCUMENT_ROOT'] . "/includes/tokens/" . str_replace("/", "", $token));
@@ -76,6 +74,10 @@ if (isset($token)) {
$isLoggedIn = false;
$isLowerLoggedIn = false;
}
+
+ $data["last"] = time();
+ $data["addresses"][$_SERVER["HTTP_X_FORWARDED_FOR"] ?? $_SERVER["REMOTE_ADDR"]] = time();
+ file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/tokens/" . str_replace("/", "", $token), json_encode($data));
} else {
$_PROFILE = $data;
}
diff --git a/pages/travelling.inc b/pages/travelling.inc
index 9eadaed..ee2e2c3 100644
--- a/pages/travelling.inc
+++ b/pages/travelling.inc
@@ -129,10 +129,13 @@ global $travelling;
...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): ?>
+ ] 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"] ?>
@@ -143,7 +146,11 @@ global $travelling;
<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"]): ?>
- <img style="width:24px;" src="/assets/logo/equestria.png"> 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; ?>
@@ -170,13 +177,17 @@ global $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 endforeach; ?>
+ <?php endif; endforeach; ?>
</div>
<style>