From 940defd2939f52480ed5b548189b549457944995 Mon Sep 17 00:00:00 2001 From: RaindropsSys Date: Wed, 15 Mar 2023 22:40:55 +0100 Subject: Updated 14 files (automated) --- includes/components/details.inc | 39 +++++----- includes/fragments/member.inc | 2 +- includes/fragments/metadata.inc | 6 +- includes/util/banner.inc | 6 +- includes/util/bitset.inc | 4 ++ includes/util/pronouns.inc | 153 +++------------------------------------- 6 files changed, 44 insertions(+), 166 deletions(-) (limited to 'includes') diff --git a/includes/components/details.inc b/includes/components/details.inc index b7d0ebe..e50daf6 100644 --- a/includes/components/details.inc +++ b/includes/components/details.inc @@ -3,32 +3,31 @@

"" . $lang["details"]["food_states"][0] . "", - 1 => "" . $lang["details"]["food_states"][1] . "", - 2 => "" . $lang["details"]["food_states"][2] . "", - 3 => "" . $lang["details"]["food_states"][3] . "", + 0 => "" . $lang["details"]["food_states"][0] . "", + 1 => "" . $lang["details"]["food_states"][1] . "", + 2 => "" . $lang["details"]["food_states"][2] . "", + 3 => "" . $lang["details"]["food_states"][3] . "", } ?>

"" . $lang["details"]["memory_states"][0] . "", - 1 => "" . $lang["details"]["memory_states"][1] . "", - 2 => "" . $lang["details"]["memory_states"][2] . "", + 0 => "" . $lang["details"]["memory_states"][0] . "", + 1 => "" . $lang["details"]["memory_states"][1] . "", + 2 => "" . $lang["details"]["memory_states"][2] . "", } ?>
-
Age:
0): ?> INF ?> - Eternal" ?> + Eternal" ?> - - " . $metadata["birth"]["age"] . "* years old" ?> + " . $metadata["birth"]["age"] . "* years old" ?> - Sliding " . explode("-", $metadata["birth"]["age"])[0] . " to " . explode("-", $metadata["birth"]["age"])[1] . "" ?> + Sliding " . explode("-", $metadata["birth"]["age"])[0] . " to " . explode("-", $metadata["birth"]["age"])[1] . "" ?> @@ -50,12 +49,11 @@ } ?> - " . $age . " years old" ?> + " . $age . " years old" ?>
- - +

@@ -64,6 +62,7 @@ -
+
Primary interest:
@@ -72,7 +71,7 @@ -
- + @@ -80,19 +79,19 @@
; margin-left: -20px; margin-right: -20px;grid-template-columns: repeat(3, 1fr);"> - = 16 && $metadata["little"] === 0) || (!isset($age) && $metadata["little"] === 0)) || $metadata["sexual_features"]): ?> + = 16 && $metadata["little"] === 0) || (!isset($age2) && $metadata["little"] === 0)) || $metadata["sexual_features"]): ?>
Sexual consent:
- , however may ask to not have sex at the moment and such request must be honored." data-bs-toggle="tooltip">Preemptive + Preemptive - ." data-bs-toggle="tooltip">Required + Required
= 16 && $metadata["little"] === 0) || (!isset($age) && $metadata["little"] === 0))): ?> - +
@@ -126,7 +125,7 @@ grid-template-columns: ; } -
This member is too young to be in a sexual relationship.
+
This pony is too young to be in a sexual relationship.
diff --git a/includes/fragments/member.inc b/includes/fragments/member.inc index 4eed308..bbdfc98 100644 --- a/includes/fragments/member.inc +++ b/includes/fragments/member.inc @@ -120,7 +120,7 @@ if ($memberData["name"] === "fusion") {
  • Date added: (, )
  • -
  • Pronouns:
  • +
  • Pronouns:
  • Pronouns usage:
      $usage) { diff --git a/includes/fragments/metadata.inc b/includes/fragments/metadata.inc index e143153..031fd19 100644 --- a/includes/fragments/metadata.inc +++ b/includes/fragments/metadata.inc @@ -83,6 +83,10 @@ if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata/" . $member
  • +

    + Gender
    + "> +


    @@ -132,7 +136,7 @@ if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/metadata/" . $member

    Age (for ponies with fixed age)
    - "> + ">


    diff --git a/includes/util/banner.inc b/includes/util/banner.inc index 46d9ce5..1657233 100644 --- a/includes/util/banner.inc +++ b/includes/util/banner.inc @@ -3,6 +3,7 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/session.inc"; global $isLoggedIn; global $lang; global $pages; require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/pronouns.inc"; require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/functions.inc"; +require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/util/Parsedown.php"; $Parsedown = new Parsedown(); $travelling = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/travelling/travelling.json"), true); @@ -21,11 +22,13 @@ function getMemberBannerData(string $id, string $system, bool $french = false) { global $travelling; global $isLoggedIn; global $lang; + global $Parsedown; $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([ + // FIXME: This doesn't work now that bitset functionality is removed "bitset" => 4196352, "regression" => null, "median" => null, @@ -463,9 +466,10 @@ function getMemberBannerData(string $id, string $system, bool $french = false) { 'median' => $metadata["median"], 'little' => $metadata["little"] >= 2, 'name' => $member["display_name"] ?? $member["name"], + 'gender' => isset($metadata["gender"]) && trim($metadata["gender"]) !== "" ? $Parsedown->text($metadata["gender"]) : "Agender", 'badges' => $badges, 'prefixes' => $prefixes, - 'pronouns' => getTooltipsFromMark($member["pronouns"], $french) ?? "they/them", + 'pronouns' => isset($member["pronouns"]) && trim($member["pronouns"]) !== "" ? $member["pronouns"] : "they/them", 'pronouns_usage' => getMemberPronouns($member['pronouns']), 'last_fronted' => $lastFronted, 'species' => $speciesList, diff --git a/includes/util/bitset.inc b/includes/util/bitset.inc index 131cb39..14f178c 100644 --- a/includes/util/bitset.inc +++ b/includes/util/bitset.inc @@ -11,6 +11,10 @@ function parseMetadata ($metadata) { $age = (int)date('Y') - $metadata["birth"]["year"] + (strtotime(date('Y') . "-" . $metadata["birth"]["date"]) <= time() ? 0 : -1); } + if (is_string($age) && isset(explode("-", $age)[1]) && is_numeric(explode("-", $age)[1])) { + $age = (int)explode("-", $age)[1]; + } + if ($age > 0 && $age <= 10) { $metadata["little"] = 2; } else if ($age > 0 && $age <= 15) { diff --git a/includes/util/pronouns.inc b/includes/util/pronouns.inc index 6ab2487..b7c8dd4 100644 --- a/includes/util/pronouns.inc +++ b/includes/util/pronouns.inc @@ -1,149 +1,16 @@ [ - "gender" => "ponygender", - "gender:fr" => "poneygenre", - "object" => "pony", +function getMemberPronouns(?string $pronouns): ?array { + return [ + "gender" => "invalid", + "gender:fr" => "invalide", + "object" => "this pony", "person" => "pony", - "possessive_det" => "pony's", - "possessive_pro" => "pony's", - "reflexive" => "ponyself", - "subjective" => "pony", - "third" => true, - "color" => "warning" - ], - "she" => [ - "gender" => "female", - "gender:fr" => "fille", - "object" => "her", - "person" => "girl", - "possessive_det" => "her", - "possessive_pro" => "hers", - "reflexive" => "herself", - "subjective" => "she", + "possessive_det" => "this pony's", + "possessive_pro" => "this pony's", + "reflexive" => "this pony", + "subjective" => "this pony", "third" => true, "color" => "success" - ], - "he" => [ - "gender" => "male", - "gender:fr" => "garçon", - "object" => "him", - "person" => "boy", - "possessive_det" => "his", - "possessive_pro" => "his", - "reflexive" => "himself", - "subjective" => "he", - "third" => true, - "color" => "info" - ], - "it" => [ - "gender" => "agender", - "gender:fr" => "agenre", - "object" => "it", - "person" => "person", - "possessive_det" => "its", - "possessive_pro" => "its", - "reflexive" => "itself", - "subjective" => "it", - "third" => true, - "color" => "light" - ], - "they" => [ - "gender" => "non binary", - "gender:fr" => "non binaire", - "object" => "them", - "person" => "person", - "possessive_det" => "their", - "possessive_pro" => "theirs", - "reflexive" => "themself", - "subjective" => "they", - "third" => false, - "color" => "primary" - ] -]; - -$pronounGetCount = 0; - -$possibilitiesPerSet = []; -foreach ($pronounsSets as $name => $set) { - if (!isset($possibilitiesPerSet[$name])) $possibilitiesPerSet[$name] = []; - $possibilitiesPerSet[$name][] = $name; - - foreach ($set as $category => $value) { - if (is_string($value)) $possibilitiesPerSet[$name][] = $value; - } -} - -function getSetFromValue(string $value) { - global $possibilitiesPerSet; - - foreach ($possibilitiesPerSet as $name => $set) { - if (in_array($value, $set)) { - return $name; - } - } - - return null; -} - -function getPronounsFromMark(?string $mark = null): array { - if (!isset($mark) || trim($mark) === "") { - return ["they"]; - } else { - $parts = array_unique(array_map(function ($i) { - return getSetFromValue($i); - }, explode("/", $mark))); - return $parts; - } -} - -function getMemberPronouns(?string $pronouns): ?array { - global $pronounsSets; - $list = getPronounsFromMark($pronouns); - return $pronounsSets[$list[array_rand($list)]] ?? $pronounsSets["she"]; -} - -function getGenderFromPronoun(string $pronoun, bool $french = false) { - global $pronounsSets; - $set = getPronounsFromMark($pronoun)[0]; - - if ($french) { - return ($pronounsSets[$set] ?? $pronounsSets["they"])["gender:fr"]; - } else { - return ($pronounsSets[$set] ?? $pronounsSets["they"])["gender"]; - } -} - -function pronounInFrench(string $pronoun): string { - return match ($pronoun) { - "she" => "elle", - "her" => "elle", - "he" => "il", - "him" => "lui", - "they" => "iel", - "them" => "iel", - "it" => "iel", - "its" => "iel", - "pony" => "poney", - "pony's" => "à poney", - "ponys" => "à poney", - default => $pronoun, - }; -} - -function getTooltipsFromMark(string $mark = null, bool $french = false): ?string { - if (!isset($mark)) { - return null; - } else { - if ($french) { - return implode("/", array_map(function ($i) { - return "" . pronounInFrench($i) . ""; - }, explode("/", $mark))); - } else { - return implode("/", array_map(function ($i) { - return "" . $i . ""; - }, explode("/", $mark))); - } - } + ]; } \ No newline at end of file -- cgit