diff options
author | RaindropsSys <contact@minteck.org> | 2023-03-12 19:16:53 +0100 |
---|---|---|
committer | RaindropsSys <contact@minteck.org> | 2023-03-12 19:16:53 +0100 |
commit | eb89b15c0f044673c1206a418a21d0baba1a675e (patch) | |
tree | 39ac31a576d8b8392cbd9baf8d67621bf2cefa86 /includes/banner.inc | |
parent | 5385f0ed8fbb4325203a222a75e6700ffb519349 (diff) | |
download | pluralconnect-eb89b15c0f044673c1206a418a21d0baba1a675e.tar.gz pluralconnect-eb89b15c0f044673c1206a418a21d0baba1a675e.tar.bz2 pluralconnect-eb89b15c0f044673c1206a418a21d0baba1a675e.zip |
Updated 104 files, added 3 files, deleted 4 files and renamed 36 files (automated)
Diffstat (limited to 'includes/banner.inc')
-rw-r--r-- | includes/banner.inc | 480 |
1 files changed, 0 insertions, 480 deletions
diff --git a/includes/banner.inc b/includes/banner.inc deleted file mode 100644 index a95c51d..0000000 --- a/includes/banner.inc +++ /dev/null @@ -1,480 +0,0 @@ -<?php - -require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/session.inc"; global $isLoggedIn; global $lang; global $pages; -require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/pronouns.inc"; -require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/functions.inc"; - -$travelling = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/travelling/travelling.json"), true); - -function _header_getMember(string $id, $system) { - $members = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/members.json"), true); - $member = null; - - foreach ($members as $m) { - if ($m["id"] === $id) $member = $m; - } - - return $member; -} - -function getMemberBannerData(string $id, string $system, bool $french = false) { - global $travelling; - global $isLoggedIn; - global $lang; - - $french = $lang["_french"]; - - $member = getSystemMember($system, $id); - $metadata = file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata/$id.json") ? parseMetadata(json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata/$id.json"), true)) : parseMetadata([ - "bitset" => 4196352, - "regression" => null, - "median" => null, - "marefriends" => [], - "sexfriends" => [], - "sisters" => [], - "caretakers" => [] - ]); - - $prefixes = []; - foreach ($member['proxy_tags'] as $proxy) { - if ($travelling[$member['id']]["travelling"]) { - if (isset($travelling[$member['id']]['equestria']) && $travelling[$member['id']]['equestria']) { - $prefixes[] = null; - } else { - $prefixes[] = "+" . $proxy["prefix"] . ($proxy["suffix"] !== "" && $proxy["suffix"] !== null ? "..." . $proxy["suffix"] : ""); - } - } else { - $prefixes[] = $proxy["prefix"] . ($proxy["suffix"] !== "" && $proxy["suffix"] !== null ? "..." . $proxy["suffix"] : ""); - } - } - - $lastFronted = null; - if (!$metadata["median"]) { - $fronters = array_map(function ($item) { - return $item["id"]; - }, json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/fronters.json"), true)["members"]); - - if (in_array($id, $fronters)) { - $lastFronted = [ - 'now' => true, - 'relative' => timeAgo(json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/fronters.json"), true)["timestamp"]), - 'absolute' => date("D j M Y, G:i:s (e)", strtotime(json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/fronters.json"), true)["timestamp"])), - 'timestamp' => strtotime(json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/fronters.json"), true)["timestamp"]), - 'duration' => [ - 'seconds' => null, - 'pretty' => null - ] - ]; - } else { - $switches = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$system/switches.json"), true); - - $thisMember = array_filter($switches, function ($item) { - global $memberData; - return in_array($memberData["id"], $item["members"]); - }); - - $thisMember = array_values($thisMember); - $frontingEnd = null; - - if (count($thisMember) > 0) { - $thisIndex = array_search($thisMember[0], $switches); - - $frontingStart = $thisMember[0]; - $frontingEnd = $switches[$thisIndex - 1]; - } - - if ($frontingEnd !== null && isset($frontingStart)) { - $seconds = (strtotime($frontingEnd["timestamp"]) - strtotime($frontingStart["timestamp"])); - - $lastFronted = [ - 'now' => false, - 'relative' => timeAgo($frontingEnd["timestamp"]), - 'absolute' => date("D j M Y, G:i:s (e)", strtotime($frontingEnd["timestamp"])), - 'timestamp' => strtotime($frontingEnd["timestamp"]), - 'duration' => [ - 'seconds' => $seconds, - 'pretty' => $seconds . ($french ? " secondes" : " seconds") - ] - ]; - if ($french) { - if ($seconds > 60) { - if ($seconds > 3600) { - $lastFronted['duration']['pretty'] = round($seconds / 3600) . " heures"; - } else { - $lastFronted['duration']['pretty'] = round($seconds / 60) . " minutes"; - } - } - } else { - if ($seconds > 60) { - if ($seconds > 3600) { - $lastFronted['duration']['pretty'] = round($seconds / 3600) . " hours"; - } else { - $lastFronted['duration']['pretty'] = round($seconds / 60) . " minutes"; - } - } - } - } - } - } - - $speciesList = []; - foreach ($metadata["species"] ?? [] as $species) { - if ($french) { - $name = match ($species) { - "earth" => $metadata["robot"] ? "Robot poney terrestre" : (!$metadata["plush"] ? "Poney terrestre" : "Poney terrestre en peluche"), - "alicorn" => $metadata["robot"] ? "Robot alicorne" : (!$metadata["plush"] ? "Alicorne" : "Alicorne en peluche"), - "crystal" => $metadata["robot"] ? "Robot poney de crystal" : (!$metadata["plush"] ? "Poney de crystal" : "Poney de crystal en peluche"), - "pegasus" => $metadata["robot"] ? "Robot pégase" : (!$metadata["plush"] ? "Pégase" : "Pégase en peluche"), - "batpony" => $metadata["robot"] ? "Robot Poney chauve souris" : (!$metadata["plush"] ? "Poney chauve souris" : "Poney chauve souris en peluche"), - "unicorn" => $metadata["robot"] ? "Robot licorne" : (!$metadata["plush"] ? "Licorne" : "Licorne en peluche"), - "changeling" => "Changelin", - default => $species . "_" . $metadata["robot"] - }; - } else { - $name = match ($species) { - "earth" => $metadata["robot"] ? "Robot earth pony" : (!$metadata["plush"] ? "Earth pony" : "Earth pony plush"), - "alicorn" => $metadata["robot"] ? "Robot alicorn" : (!$metadata["plush"] ? "Alicorn" : "Alicorn plush"), - "crystal" => $metadata["robot"] ? "Robot crystal pony" : (!$metadata["plush"] ? "Crystal pony" : "Crystal pony plush"), - "pegasus" => $metadata["robot"] ? "Robot pegasus" : (!$metadata["plush"] ? "Pegasus" : "Pegasus plush"), - "batpony" => $metadata["robot"] ? "Robot bat pony" : (!$metadata["plush"] ? "Bat pony" : "Bat pony plush"), - "unicorn" => $metadata["robot"] ? "Robot unicorn" : (!$metadata["plush"] ? "Unicorn" : "Unicorn plush"), - "changeling" => "Changeling", - default => $species . "_" . $metadata["robot"] - }; - } - - $speciesList[] = [ - "id" => $species, - "name" => $name, - "robot" => $metadata["robot"], - "plush" => $metadata["plush"], - "icon" => $species . ($metadata["robot"] ? "-robot" : ($metadata["plush"] ? "-plush" : "")) . ".png" - ]; - } - - $app = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/app.json"), true); - - $systemData = []; - $systemData['page'] = "/" . ($system === "gdapd" ? "raindrops" : ($system === $app["other"]["id"] ? $app["other"]["slug"] : "cloudburst")); - $systemData['icon'] = getAsset($system); - $systemData['name'] = $system === "gdapd" ? "Raindrops" : ($system === $app["other"]["id"] ? $app["other"]["short"] : "Cloudburst"); - $systemData['full_name'] = $system === "gdapd" ? "Raindrops System" : ($system === $app["other"]["id"] ? $app["other"]["name"] : "Cloudburst System"); - $systemData['temporary'] = false; - - if ($travelling[$member['id']]["travelling"] && !$travelling[$member['id']]["equestria"]) { - $systemData['page'] = "/" . ($system === "gdapd" ? "cloudburst" : "raindrops"); - $systemData['icon'] = getAsset($system === "gdapd" ? "ynmuc" : "gdapd"); - $systemData['name'] = $system === "gdapd" ? "Cloudburst" : "Raindrops"; - $systemData['full_name'] = $system === "gdapd" ? "Cloudburst System" : "Raindrops System"; - $systemData['temporary'] = true; - } - - if ($travelling[$member['id']]["travelling"] && $travelling[$member['id']]["equestria"]) { - $systemData['page'] = null; - $systemData['icon'] = "../logo/equestria.png"; - $systemData['name'] = "Equestria"; - $systemData['full_name'] = "Equestria"; - $systemData['temporary'] = true; - } - - $marefriends = []; - foreach ($metadata["marefriends"] as $marefriend) { - $mfSystem = explode("/", $marefriend)[0]; - $mfMemberID = explode("/", $marefriend)[1]; - $mfMember = array_filter(json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$mfSystem/members.json"), true), function ($item) use ($mfMemberID) { - return $item["id"] === $mfMemberID; - }); - sort($mfMember); - $mfMember = $mfMember[0]; - - $marefriends[] = [ - "id" => $marefriend, - "link" => "/" . ($mfMember["name"]), - "icon" => getAsset($mfSystem, $mfMemberID, "heads"), - "name" => $mfMember["display_name"] ?? $mfMember["name"], - "full_name" => $mfMember["display_name"] ?? $mfMember["name"] - ]; - } - - $sexfriends = null; - - if ($isLoggedIn) { - $sexfriends = []; - foreach ($metadata["sexfriends"] as $marefriend) { - $mfSystem = explode("/", $marefriend)[0]; - $mfMemberID = explode("/", $marefriend)[1]; - $mfMember = array_filter(json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$mfSystem/members.json"), true), function ($item) use ($mfMemberID) { - return $item["id"] === $mfMemberID; - }); - sort($mfMember); - $mfMember = $mfMember[0]; - - $sexfriends[] = [ - "id" => $marefriend, - "link" => "/" . ($mfMember["name"]), - "icon" => getAsset($mfSystem, $mfMemberID, "heads"), - "name" => $mfMember["display_name"] ?? $mfMember["name"], - "full_name" => $mfMember["display_name"] ?? $mfMember["name"] - ]; - } - } - - $sisters = []; - foreach ($metadata["sisters"] as $marefriend) { - $mfSystem = explode("/", $marefriend)[0]; - $mfMemberID = explode("/", $marefriend)[1]; - $mfMember = array_filter(json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$mfSystem/members.json"), true), function ($item) use ($mfMemberID) { - return $item["id"] === $mfMemberID; - }); - sort($mfMember); - $mfMember = $mfMember[0]; - - $sisters[] = [ - "id" => $marefriend, - "link" => "/" . ($mfMember["name"]), - "icon" => getAsset($mfSystem, $mfMemberID, "heads"), - "name" => $mfMember["display_name"] ?? $mfMember["name"], - "full_name" => $mfMember["display_name"] ?? $mfMember["name"] - ]; - } - - $caretakers = null; - - if ($metadata["little"] >= 2) { - $caretakers = []; - foreach ($metadata["caretakers"] as $marefriend) { - $mfSystem = explode("/", $marefriend)[0]; - $mfMemberID = explode("/", $marefriend)[1]; - $mfMember = array_filter(json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/$mfSystem/members.json"), true), function ($item) use ($mfMemberID) { - return $item["id"] === $mfMemberID; - }); - sort($mfMember); - $mfMember = $mfMember[0]; - - $caretakers[] = [ - "id" => $marefriend, - "link" => "/" . ($mfMember["name"]), - "icon" => getAsset($mfSystem, $mfMemberID, "heads"), - "name" => $mfMember["display_name"] ?? $mfMember["name"], - "full_name" => $mfMember["display_name"] ?? $mfMember["name"] - ]; - } - } - - $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>' - ) - ]; - } - - if ($metadata["persecutor"] ?? 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>' - ) - ]; - } - - if ($metadata["less_frequent"] ?? 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>' - ) - ]; - } - - if ($metadata["nonverbal"] ?? 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>' - ) - ]; - } - - 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>' - ]; - } - - if (($metadata["leader"] ?? 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>' - ) - ]; - } - - if ($metadata["protector"] ?? 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>' - ) - ]; - } - - if (($metadata["little"] ?? 0) === 2) { - $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>' - ) - ]; - } - - if (($metadata["little"] ?? 0) === 3) { - $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>' - ) - ]; - } - - 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>' - ) - ]; - } - } - - return [ - 'id' => $member['name'], - 'color' => $member["color"] ?? "000000", - 'icon' => [ - "online" => getAsset($system, $member["id"]), - "offline" => "pf-$system-$id.webp" - ], - 'median' => $metadata["median"], - 'little' => $metadata["little"] >= 2, - 'name' => $member["display_name"] ?? $member["name"], - 'badges' => $badges, - 'prefixes' => $prefixes, - 'pronouns' => getTooltipsFromMark($member["pronouns"], $french) ?? "<span data-bs-toggle='tooltip' title='Pronouns not specified' class='text-muted'>they/them</span>", - 'pronouns_usage' => getMemberPronouns($member['pronouns']), - 'last_fronted' => $lastFronted, - 'species' => $speciesList, - 'system' => $systemData, - 'relations' => [ - 'marefriends' => $marefriends ?? [], - 'sexfriends' => $sexfriends ?? null, - 'sisters' => $sisters ?? [], - 'caretakers' => $caretakers ?? [] - ] - ]; -}
\ No newline at end of file |