summaryrefslogtreecommitdiff
path: root/includes/details.inc
blob: 7f9688421dc8fc1470a3c4fe667ced018e1300d1 (plain)
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
166
<?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' : '' ?>" style="<?php if ((!$isLoggedIn && !$isLowerLoggedIn) || $systemID === $app["other"]["id"]): ?>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='" . ucfirst(str_replace("'", "&apos;", $pronouns["possessive_det"])) . " species indicates that " . str_replace("'", "&apos;", $pronouns["subjective"]) . ' ' . ($pronouns["third"] ? "doesn&apos;t" : "don&apos;t") . " need to eat food, therefore " . str_replace("'", "&apos;", $pronouns["subjective"]) . " can eat all foods.'>" . $lang["details"]["food_states"][0] . "</span>",
            1 => "<span data-bs-toggle='tooltip' title='" . ucfirst(str_replace("'", "&apos;", $pronouns["subjective"])) . " can&apos;t eat fish or meat.'>" . $lang["details"]["food_states"][1] . "</span>",
            2 => "<span data-bs-toggle='tooltip' title='" . ucfirst(str_replace("'", "&apos;", $pronouns["subjective"])) . " can&apos;t eat meat, but can eat fish.'>" . $lang["details"]["food_states"][2] . "</span>",
            3 => "<span data-bs-toggle='tooltip' title='" . ucfirst(str_replace("'", "&apos;", $pronouns["subjective"])) . " 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='" . str_replace("'", "&apos;", ucfirst($pronouns["subjective"])) . ($pronouns["third"] ? " doesn&apos;t directly share" : " don&apos;t directly share") . " memory with " . str_replace("'", "&apos;", $pronouns["possessive_det"]) . " headmates, but is able to (slowly) query it if that is needed.'>" . $lang["details"]["memory_states"][0] . "</span>",
            1 => "<span data-bs-toggle='tooltip' title='" . str_replace("'", "&apos;", ucfirst($pronouns["subjective"])) . ($pronouns["third"] ? " doesn&apos;t directly shares" : " don&apos;t directly share") . " all memories with " . str_replace("'", "&apos;", $pronouns["possessive_det"]) . " 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='" . str_replace("'", "&apos;", ucfirst($pronouns["subjective"])) . ($pronouns["third"] ? " shares" : " share") . " all memories with " . str_replace("'", "&apos;", $pronouns["possessive_det"]) . " headmates.'>" . $lang["details"]["memory_states"][2] . "</span>",
        } ?>
    </div>
    <?php if ($systemID !== $app["other"]["id"]): ?>
    <?php if ($isLoggedIn || $isLowerLoggedIn): ?>
        <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='" . str_replace("'", "&apos;", ucfirst($pronouns["subjective"])) . " never age" . str_replace("'", "&apos;", $pronouns["third"] ? "s" : "") . " and " . str_replace("'", "&apos;", $pronouns["third"] ? "doesn't" : "don't") . " have a defined age, making " . str_replace("'", "&apos;", $pronouns["object"]) . " 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='" . str_replace("'", "&apos;", ucfirst($pronouns["subjective"])) . str_replace("'", "&apos;", $pronouns["third"] ? " doesn't" : " don't") . " age like the body does, making " . str_replace("'", "&apos;", $pronouns["object"]) . " stay " . $metadata["birth"]["age"] . " years old for " . str_replace("'", "&apos;", $pronouns["possessive_det"]) . " entire life.'>" . $metadata["birth"]["age"] . "* years old</span>" ?>
                <?php else: ?>
                    <?= "<span data-bs-toggle='tooltip' title='" . str_replace("'", "&apos;", ucfirst($pronouns["object"])) . " age " . str_replace("'", "&apos;", $pronouns["third"] ? " changes" : " change") . " frequently between " . explode("-", $metadata["birth"]["age"])[0] . " and " . explode("-", $metadata["birth"]["age"])[1] . " years old, and " . str_replace("'", "&apos;", $pronouns["subjective"]) . " " . str_replace("'", "&apos;", $pronouns["third"] ? " doesn't" : " don'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 | " . str_replace("'", "&apos;", ucfirst($pronouns["subjective"])) . " age" . str_replace("'", "&apos;", $pronouns["third"] ? "s" : "") . " like the body does, making " . str_replace("'", "&apos;", $pronouns["object"]) . " stay " . $age . " years old for now, having this age change $birthday.'>" . $age . " years old</span>" ?>
                <?php endif; ?>
            <?php endif; ?>
        </div>
    <?php endif; ?>
    <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>
    <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 if (((isset($age) && $age >= 16 && $metadata["little"] === 0) || (!isset($age) && $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 <?= $pronouns["object"] ?>, however <?= $pronouns["subjective"] ?> 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 <?= $pronouns["object"] ?>." 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, they are 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 member 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; ?>