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
|
<?php global $isLoggedIn; global $metadata; global $memberData; global $isLowerLoggedIn; global $systemID; global $app; global $lang; global $pages; $pronouns = getMemberPronouns($memberData['pronouns']); ?>
<div id="member-details" class="<?= (($isLoggedIn || $isLowerLoggedIn) && $systemID !== $app["other"]["id"]) ? 'member-details-loggedIn' : 'member-details-loggedIn2' ?>" style="<?php if (!$isLoggedIn && !$isLowerLoggedIn): ?>grid-template-columns: repeat(4, 1fr);<?php endif; ?> background-color: <?= isset($memberData["color"]) ? '#' . $memberData["color"] . "33" : "transparent" ?>; margin-left: -20px; margin-right: -20px;">
<div>
<b><?= $lang["details"]["food"] ?></b><span class="member-small-separator"><br></span>
<?= match ($metadata["food"]) {
0 => "<span data-bs-toggle='tooltip' title='This pony's species indicates that this pony doesn't need to eat food, therefore this pony can eat all foods.'>" . $lang["details"]["food_states"][0] . "</span>",
1 => "<span data-bs-toggle='tooltip' title='This pony can't eat fish or meat.'>" . $lang["details"]["food_states"][1] . "</span>",
2 => "<span data-bs-toggle='tooltip' title='This pony can't eat meat, but can eat fish.'>" . $lang["details"]["food_states"][2] . "</span>",
3 => "<span data-bs-toggle='tooltip' title='This pony can eat all foods, meat and fish included.'>" . $lang["details"]["food_states"][3] . "</span>",
} ?>
</div>
<div>
<b><?= $lang["details"]["memory"] ?></b><span class="member-small-separator"><br></span>
<?= match ($metadata["shared_memory"]) {
0 => "<span data-bs-toggle='tooltip' title='This pony doesn't directly share memories with this pony's headmates, b, but is able to (slowly) query them if that is needed.'>" . $lang["details"]["memory_states"][0] . "</span>",
1 => "<span data-bs-toggle='tooltip' title='This pony doesn't directly share memories with this pony's headmates, but may be able to share certain memories and/or share memories at will.'>" . $lang["details"]["memory_states"][1] . "</span>",
2 => "<span data-bs-toggle='tooltip' title='This pony shares all memories with this pony's headmates.'>" . $lang["details"]["memory_states"][2] . "</span>",
} ?>
</div>
<div>
<b>Age:</b><span class="member-small-separator"><br></span>
<?php if (!isset($metadata["birth"]["year"]) || $metadata["birth"]["age"] > 0): ?>
<?php if ($metadata["birth"]["age"] === -1): $age = abs(log(0)); // => INF ?>
<?= "<span data-bs-toggle='tooltip' title='This pony never ages and doesn't have a defined age, making this pony pretty much eternal.'>Eternal</span>" ?>
<?php elseif ($metadata["birth"]["age"] <= 0): ?>
-
<?php else: $age = $metadata["birth"]["age"]; if (is_numeric($metadata["birth"]["age"])): ?>
<?= "<span data-bs-toggle='tooltip' title='This pony doesn't age like the body does, making this pony stay " . $metadata["birth"]["age"] . " years old for this pony's entire life.'>" . $metadata["birth"]["age"] . "* years old</span>" ?>
<?php else: ?>
<?= "<span data-bs-toggle='tooltip' title='This pony's age changes frequently between " . explode("-", $metadata["birth"]["age"])[0] . " and " . explode("-", $metadata["birth"]["age"])[1] . " years old, and this 't have a single defined age.'>Sliding " . explode("-", $metadata["birth"]["age"])[0] . " to " . explode("-", $metadata["birth"]["age"])[1] . "</span>" ?>
<?php endif; endif; ?>
<?php else: ?>
<?php if ($metadata["birth"]["year"] <= 1900): ?>
-
<?php else: ?>
<?php
$birthdate = $metadata["birth"]["year"] . date('-m-d');
if (isset($metadata["birth"]["date"]) && trim($metadata["birth"]["date"]) !== "" && $metadata["birth"]["date"] !== "01-01") {
$birthdate = $metadata["birth"]["year"] . "-" . $metadata["birth"]["date"];
}
$age = (int)date('Y') - $metadata["birth"]["year"] + (strtotime(date('Y') . "-" . $metadata["birth"]["date"]) <= time() ? 0 : -1);
$age2 = floor((time() - strtotime($birthdate)) / 31557600);
$birthday = "as time passes";
if (isset($metadata["birth"]["date"]) && trim($metadata["birth"]["date"]) !== "" && $metadata["birth"]["date"] !== "01-01") {
$birthday = "every " . date('F jS', strtotime(date('Y') . "-" . $metadata["birth"]["date"]));
}
?>
<?= "<span data-bs-toggle='tooltip' title='$age2 with the old algorithm | This pony ages like the body does, making this pony stay " . $age . " years old for now, having this age change $birthday.'>" . $age . " years old</span>" ?>
<?php endif; ?>
<?php endif; ?>
</div>
<?php if ($systemID !== $app["other"]["id"]): if ($isLoggedIn || $isLowerLoggedIn): ?>
<div>
<b><?= $lang["details"]["code"] ?></b><span class="member-small-separator"><br></span>
<?php if (isset($metadata["code"]) && trim($metadata["code"]) !== ""): ?>
<code style="color: white;"><?= strtoupper(substr($metadata["code"], 0, 3)) ?></code>
<?php else: ?>
-
<?php endif; ?>
</div>
<?php endif; ?>
<div>
<b>Primary interest:</b><span class="member-small-separator"><br></span>
<?php if (isset($metadata["interest"]) && trim($metadata["interest"]) !== ""): ?>
<?= trim($metadata["interest"]) ?>
<?php else: ?>
-
<?php endif; ?>
</div>
<?php endif ?>
<?php if ($systemID !== $app["other"]["id"]): ?>
</div>
<?php endif; ?>
<?php if ($isLoggedIn || $isLowerLoggedIn): ?>
<?php if ($systemID !== $app["other"]["id"]): ?>
<div id="member-details-2" style="background-color: <?= isset($memberData["color"]) ? '#' . $memberData["color"] . "33" : "transparent" ?>; margin-left: -20px; margin-right: -20px;<?php if ($isLowerLoggedIn): ?>grid-template-columns: repeat(3, 1fr);<?php endif; ?>">
<?php endif; ?>
<?php $age2 = $age ?? 0; if (is_string($age2)) $age2 = (int)(explode("-", $age2)[1] ?? "0"); if (((isset($age2) && $age2 >= 16 && $metadata["little"] === 0) || (!isset($age2) && $metadata["little"] === 0)) || $metadata["sexual_features"]): ?>
<?php if ($isLoggedIn && $systemID !== $app["other"]["id"]): ?>
<div>
<span style="vertical-align: middle;">
<b>Sexual consent:</b><span class="member-small-separator"><br></span>
<?php if ($metadata["sexually_active"]): ?>
<span title="Consent is assumed when having sex with this pony, however this pony may ask to not have sex at the moment and such request must be honored." data-bs-toggle="tooltip">Preemptive</span>
<?php else: ?>
<span title="Consent is absolutely required every time when having sex with this pony." data-bs-toggle="tooltip">Required</span>
<?php endif; ?>
</span>
<?php if (!((isset($age) && $age >= 16 && $metadata["little"] === 0) || (!isset($age) && $metadata["little"] === 0))): ?>
<img src="/assets/icons/warning.svg" style="width: 16px;" title="Although this pony is able to engage in sexual relationships, this pony is not allowed to have sex with ponies who are over 16 years old." data-bs-toggle="tooltip">
<?php endif; ?>
</div>
<?php endif; ?>
<div>
<b><span class="member-detail-desktop">Sexual alignment</span><span class="member-detail-mobile">Sex. algn.</span>:</b><span class="member-small-separator"><br></span>
<?php switch ($metadata["alignment"]["sexual"]) {
case "aroace":
echo "Asexual";
break;
case "hetero":
echo "Straight";
break;
case "homo":
echo $pronouns["subjective"] === "she" ? "Lesbian" : ($pronouns["subjective"] === "he" ? "Gay" : "Homosexual");
break;
case "bi":
echo "Bisexual";
break;
case "pan":
echo "Pansexual";
break;
case "poly":
echo "Polysexual";
break;
} ?><?php if ($metadata["polyamorous"]["sexual"]): ?> (poly)<?php endif; ?>
</div>
<?php else: ?>
<div>
<style>
#member-details-2 {
grid-template-columns: <?= $isLowerLoggedIn ? "1fr 1fr 1fr" : "2fr 1fr 1fr" ?>;
}
</style>
<div style="display: flex; align-items: center; justify-content: center; height: 100%;opacity:.5;">This pony is too young to be in a sexual relationship.</div>
</div>
<?php endif; ?>
<div>
<b><span class="member-detail-desktop">Romantic alignment</span><span class="member-detail-mobile">Rom. algn.</span>:</b><span class="member-small-separator"><br></span>
<?php switch ($metadata["alignment"]["romantic"]) {
case "aroace":
echo "Aromantic";
break;
case "hetero":
echo "Heteroromantic";
break;
case "homo":
echo $pronouns["subjective"] === "she" ? "Lesbiromantic" : ($pronouns["subjective"] === "he" ? "Gay" : "Homoromantic");
break;
case "bi":
echo "Biromantic";
break;
case "pan":
echo "Panromantic";
break;
case "poly":
echo "Polyromantic";
break;
} ?><?php if ($metadata["polyamorous"]["romantic"]): ?> (poly)<?php endif; ?>
</div>
<?php if ($systemID !== $app["other"]["id"]): ?>
<div>
<b>Birthday:</b><span class="member-small-separator"><br></span>
<?php if (isset($metadata["birth"]["date"]) && trim($metadata["birth"]["date"]) !== "" && $metadata["birth"]["date"] !== "01-01"): ?>
<?= date('F jS', strtotime(date('Y') . "-" . $metadata["birth"]["date"])) ?>
<?php else: ?>
-
<?php endif; ?>
</div>
<?php endif; ?>
</div>
<?php endif; ?>
|