Updated 8 files and added 8 files (automated)

mane
Mia Raindrops 1 month ago
parent de3eeee25f
commit dc1de74470
Signed by: Mia Raindrops
GPG Key ID: EFBDC68435A574B7

@ -35,8 +35,12 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/navigation.php";
<div class="container">
<br><br>
<h1>
<span><?= $data["nick_name"] ?? $data["first_name"] . " " . $data["last_name"] ?><?php if (isset($data["nick_name"]) && trim($data["nick_name"]) !== ""): ?> <small><small><small>(<?= $data["first_name"] . " " . $data["last_name"] ?>)</small></small></small><?php endif; ?><?php if ($data["plus"] && !$data["ultra"]): ?> <small><small><small><small><small><small><span class="badge badge-plus rounded-pill" style="vertical-align: middle; margin-top: -5px;">PLUS</span></small></small></small></small></small></small><?php elseif ($data["plus"] && $data["ultra"]): ?> <small><small><small><small><small><small><span class="badge badge-ultra rounded-pill" style="vertical-align: middle; margin-top: -5px;">ULTRA</span></small></small></small></small></small></small><?php endif; ?></span>
<span style="float: right;"><?php if ($id === $_USER): ?><a href="/edit/<?= $id ?>" class="btn btn-outline-dark"><?= l("lang_people_edit") ?></a><?php endif; ?>
<span><?= $data["nick_name"] ?? $data["first_name"] . " " . $data["last_name"] ?><?php if (isset($data["nick_name"]) && trim($data["nick_name"]) !== ""): ?> <small><small><small>(<?= $data["first_name"] . " " . $data["last_name"] ?>)</small></small></small><?php endif; ?></span>
<span style="float: right;">
<div style="display: inline-block; margin-right: 10px;">
<?php badges($data) ?>
</div>
<?php if ($id === $_USER): ?><a href="/edit/<?= $id ?>" class="btn btn-outline-dark"><?= l("lang_people_edit") ?></a><?php endif; ?>
<div class="dropdown" style="display: inline-block;">
<button type="button" class="btn btn-outline-dark dropdown-toggle" data-bs-toggle="dropdown"><?= l("lang_profile_options") ?></button>
<ul class="dropdown-menu">
@ -53,7 +57,8 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/navigation.php";
</span>
</h1>
<div id="profile-grid" style="margin-top: 20px; display: grid; grid-template-columns: repeat(2, 1fr); grid-column-gap: 20px;">
<div id="profile-grid" style="margin-top: 20px; display: grid; grid-template-columns: repeat(<?= hasProfileSetting("hide", false) ? "1" : "2" ?>, 1fr); grid-column-gap: 20px;">
<?php if (!hasProfileSetting("hide", false)): ?>
<div class="card">
<div class="card-body">
<table>
@ -72,15 +77,18 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/navigation.php";
</table>
</div>
</div>
<?php endif; ?>
<div class="card">
<div class="card-body">
<div id="profile-grid-user" style="display: grid; grid-template-columns: 64px max-content; grid-gap: 10px;">
<div id="profile-grid-user" style="display: grid; grid-template-columns: <?= hasProfileSetting("photo", true) ? "64px max-content" : "1fr" ?>; grid-gap: 10px;">
<?php if (hasProfileSetting("photo", true)): ?>
<div style="display: flex; align-items: center;">
<img src="<?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/uploads/" . $id . ".jpg") ? "/uploads/" . $id . ".jpg" : "/icons/defaultuser.svg" ?>" style="width: 64px; height: 64px; border-radius: 100%;">
</div>
<?php endif; ?>
<table>
<tr>
<td><img alt="" src="/icons/age.svg" style="vertical-align: middle; width: 29px; padding-right: 5px;"></td>
<td style="width: 28px;"><img alt="" src="/icons/age.svg" style="vertical-align: middle; width: 29px; padding-right: 5px;"></td>
<td><?php
if (isset($data["birth"])):
@ -88,7 +96,7 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/navigation.php";
$bdate = strtotime($data["birth"]);
echo(timeAgo($bdate, false, true) . " " . l("lang_profile_old"));
?> (<?= l("lang_profile_birth") ?> <?= formatDate($data["birth"], false) ?>)<?php else: ?>-<?php endif; ?></td>
?><?php if (hasProfileSetting("birth", true)): ?> (<?= l("lang_profile_birth") ?> <?= formatDate($data["birth"], false) ?>)<?php endif; ?><?php else: ?>-<?php endif; ?></td>
</tr>
<tr>
<?php
@ -96,12 +104,12 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/navigation.php";
$email = $data["email"];
?>
<td><img alt="" src="/icons/email.svg" style="vertical-align: middle; width: 29px; padding-right: 5px;"></td>
<td><a href="mailto:<?= $email ?>"><?= $email ?></a></td>
<td style="width: 28px;"><img alt="" src="/icons/email.svg" style="vertical-align: middle; width: 29px; padding-right: 5px;"></td>
<td><?php if (hasProfileSetting("email", true)): ?><a href="mailto:<?= $email ?>"><?= $email ?></a><?php else: ?><?= l("lang_studio_redacted") ?><?php endif; ?></td>
</tr>
<tr>
<td><img alt="" src="/icons/phone.svg" style="vertical-align: middle; width: 29px; padding-right: 5px;"></td>
<td><?php if (isset($data["phone"]) && $data["phone"] !== ""): ?><a href="tel:<?= str_replace(" ", "", $data["phone"]) ?>"><?= $data["phone"] ?></a><?php else: ?>-<?php endif; ?></td>
<td style="width: 28px;"><img alt="" src="/icons/phone.svg" style="vertical-align: middle; width: 29px; padding-right: 5px;"></td>
<td><?php if (hasProfileSetting("phone", true)): ?><?php if (isset($data["phone"]) && $data["phone"] !== ""): ?><a href="tel:<?= str_replace(" ", "", $data["phone"]) ?>"><?= $data["phone"] ?></a><?php else: ?>-<?php endif; ?><?php else: ?><?= l("lang_studio_redacted") ?><?php endif; ?></td>
</tr>
</table>
</div>
@ -109,12 +117,58 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/navigation.php";
</div>
</div>
<?php if (hasProfileSetting("detailed", false)): ?>
<div id="profile-grid-2" style="margin-top: 20px; display: grid; grid-template-columns: repeat(2, 1fr); grid-column-gap: 20px;">
<div class="card">
<div class="card-body">
<div style="height: 28px; display: flex; align-items: center;"><b><?= l("lang_studio_details_most") ?></b></div>
<?php
if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/history/" . $_USER . ".json")) {
$history = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/history/" . $_USER . ".json"), true);
} else {
$history = [];
}
uasort($history, function ($a, $b) { return $b - $a; });
array_filter($history, function ($i) { return getFileFromId($i) !== null; }, ARRAY_FILTER_USE_KEY);
?>
<table>
<?php if (isset(array_keys($history)[0])): ?>
<tr>
<td style="width: 28px;"><img alt="" src="/icons/<?= getTypeFromId(array_keys($history)[0]) ?>.svg" style="vertical-align: middle; width: 29px; padding-right: 5px;"></td>
<td><a href="<?= getUrlFromId(array_keys($history)[0]) ?>"><?= getNameFromId(array_keys($history)[0]) ?></a></td>
</tr>
<?php endif; ?>
<?php if (isset(array_keys($history)[1])): ?>
<tr>
<td style="width: 28px;"><img alt="" src="/icons/<?= getTypeFromId(array_keys($history)[1]) ?>.svg" style="vertical-align: middle; width: 29px; padding-right: 5px;"></td>
<td><a href="<?= getUrlFromId(array_keys($history)[1]) ?>"><?= getNameFromId(array_keys($history)[1]) ?></a></td>
</tr>
<?php endif; ?>
</table>
</div>
</div>
<div class="card">
<div class="card-body">
<div style="height: 28px; display: flex; align-items: center;"><b><?= l("lang_studio_details_requests") ?></b></div>
<span class="text-muted">Not working as of M4</span>
</div>
</div>
</div>
<?php endif ;?>
<div style="margin-top: 20px;">
<?php if (isset($data["contents"]) && trim($data["contents"] !== "")): ?>
<div>
<?= $data["contents"] ?>
<?= str_replace("<script>", "&lt;script&gt;", $data["contents"]) ?>
</div>
<?php if (!hasProfileSetting("hide", false)): ?>
<small class="text-muted"><?= str_replace("%1", timeAgo($data["update"]), l("lang_time_update")) ?></small>
<?php endif; ?>
<?php else: ?>
<p class="text-muted"><?= l("lang_profile_empty") ?></p>
<?php endif; ?>

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:url(#SVGID_1_);}
</style>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="12.628" y1="7.4023" x2="32.6451" y2="42.0728">
<stop offset="0" style="stop-color:#FFB894"/>
<stop offset="1" style="stop-color:#D48800"/>
</linearGradient>
<path class="st0" d="M21.7,43.2c-1.9-1.4-4-2.5-6.1-3.4c-2.2-0.9-4.4-1.4-6.6-1.7c-0.8-0.1-1.5-0.5-2.1-1.1C6.3,36.4,6,35.7,6,34.9
V19.4c0-0.9,0.3-1.6,0.9-2.1c0.6-0.5,1.3-0.8,2-0.6c2.6,0.4,5.2,1.3,7.8,2.6s5,3.1,7.3,5.3c2.3-2.2,4.7-3.9,7.3-5.3s5.1-2.2,7.8-2.6
c0.8-0.1,1.5,0.1,2,0.6c0.6,0.6,0.9,1.3,0.9,2.1v15.6c0,0.8-0.3,1.5-0.8,2.1c-0.6,0.6-1.3,1-2.1,1.1c-2.3,0.3-4.5,0.8-6.6,1.7
c-2.1,0.9-4.2,2-6.1,3.4c-0.7,0.5-1.4,0.7-2.3,0.7C23.1,43.9,22.4,43.6,21.7,43.2z M24.2,17.4c-2.2,0-4-0.7-5.5-2.2
s-2.2-3.3-2.2-5.5s0.7-4,2.2-5.5C20.2,2.7,22,2,24.1,2s4,0.7,5.5,2.2s2.2,3.3,2.2,5.5s-0.7,4-2.2,5.5S26.3,17.4,24.2,17.4z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:url(#SVGID_1_);}
</style>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="9.2997" y1="14.8093" x2="41.0791" y2="33.1571">
<stop offset="0" style="stop-color:#A9FF7F"/>
<stop offset="1" style="stop-color:#00D407"/>
</linearGradient>
<path class="st0" d="M24,42c-2.2,0-4.2-0.5-6.1-1.7s-3.2-2.5-4.1-4.3H9.4c-0.4,0-0.7-0.1-1-0.5c-0.3-0.3-0.4-0.7-0.4-1
c0-0.4,0.1-0.8,0.4-1.1C8.7,33.1,9.1,33,9.5,33h3.1c-0.2-0.8-0.3-1.6-0.3-2.6v-2.7H9.4c-0.4,0-0.7-0.1-1-0.5c-0.3-0.3-0.4-0.6-0.4-1
c0-0.4,0.1-0.8,0.4-1.1c0.3-0.3,0.6-0.4,1.1-0.4h2.8v-2.9c0-1.1,0.1-2,0.4-2.8H9.4c-0.4,0-0.7-0.1-1-0.5c-0.3-0.3-0.4-0.6-0.4-1
c0-0.4,0.1-0.8,0.4-1.1C8.7,16.1,9.1,16,9.5,16H14c0.5-0.8,1.1-1.6,1.9-2.4c0.8-0.8,1.6-1.4,2.5-1.8L15.5,9c-0.3-0.3-0.4-0.6-0.4-1
c0-0.4,0.2-0.7,0.4-1c0.3-0.3,0.6-0.4,1-0.4s0.7,0.1,1,0.4l3.7,3.7c0.8-0.3,1.8-0.4,2.8-0.4c1,0,2,0.1,2.8,0.4L30.7,7
c0.3-0.3,0.6-0.4,1-0.4s0.7,0.2,1,0.4C32.9,7.3,33,7.6,33,8c0,0.4-0.1,0.7-0.4,1l-2.8,2.8c0.8,0.4,1.6,1,2.5,1.8
c0.8,0.8,1.4,1.6,1.9,2.4h4.5c0.4,0,0.7,0.1,1,0.5c0.3,0.3,0.4,0.7,0.4,1c0,0.4-0.1,0.8-0.4,1.1C39.3,18.9,39,19,38.5,19h-3.2
c0.3,0.8,0.4,1.8,0.4,2.8v2.9h2.9c0.4,0,0.7,0.1,1,0.5s0.4,0.7,0.4,1c0,0.4-0.1,0.8-0.4,1.1s-0.6,0.4-1.1,0.4h-2.9v2.7
c0,1-0.1,1.9-0.3,2.6h3.2c0.4,0,0.7,0.1,1,0.5c0.3,0.3,0.4,0.7,0.4,1c0,0.4-0.1,0.8-0.4,1.1S39,36,38.5,36h-4.3
c-0.8,1.8-2.1,3.2-4,4.3C28.3,41.5,26.2,42,24,42z M21.5,32h5c0.4,0,0.7-0.1,1-0.4c0.3-0.3,0.4-0.6,0.4-1.1s-0.1-0.8-0.4-1.1
c-0.3-0.3-0.6-0.4-1.1-0.4h-5c-0.4,0-0.7,0.1-1,0.4c-0.3,0.3-0.4,0.6-0.4,1.1s0.1,0.8,0.4,1.1C20.7,31.9,21.1,32,21.5,32z
M21.5,23.4h5c0.4,0,0.7-0.1,1-0.4s0.4-0.6,0.4-1.1c0-0.4-0.1-0.8-0.4-1.1c-0.3-0.3-0.6-0.4-1.1-0.4h-5c-0.4,0-0.7,0.1-1,0.4
c-0.3,0.3-0.4,0.6-0.4,1.1c0,0.4,0.1,0.8,0.4,1.1S21.1,23.4,21.5,23.4z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:url(#SVGID_1_);}
</style>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="11.5188" y1="36.7188" x2="37.0187" y2="11.2187" gradientTransform="matrix(1 0 0 -1 0 50)">
<stop offset="0" style="stop-color:#7FE7FF"/>
<stop offset="1" style="stop-color:#158CFF"/>
</linearGradient>
<path class="st0" d="M39,19.1c-0.2,0-0.3,0-0.5-0.1c-0.1-0.1-0.2-0.2-0.3-0.4L38,17.4c-0.3-0.1-0.7-0.3-1-0.5
c-0.4-0.2-0.6-0.5-0.9-0.8l-1.6,0.6c-0.2,0.1-0.3,0.1-0.5,0s-0.3-0.2-0.4-0.4l-0.4-0.6C33,15.5,33,15.3,33,15.2
c0-0.2,0.1-0.3,0.3-0.4l1.2-1c-0.1-0.2-0.1-0.4-0.2-0.6c0-0.2-0.1-0.4-0.1-0.6s0-0.4,0.1-0.6c0.1-0.2,0.1-0.4,0.2-0.6l-1.2-1
C33.1,10.3,33,10.1,33,10s0-0.3,0.1-0.5l0.4-0.6c0.1-0.2,0.2-0.3,0.4-0.4c0.2-0.1,0.3-0.1,0.5,0L36,9.1c0.2-0.3,0.5-0.5,0.9-0.8
c0.3-0.2,0.7-0.4,1-0.5l0.3-1.2c0.1-0.2,0.2-0.3,0.3-0.4C38.7,6.1,38.8,6,39,6h0.7c0.2,0,0.3,0.1,0.5,0.2c0.1,0.1,0.2,0.2,0.3,0.4
l0.3,1.2c0.3,0.1,0.7,0.3,1,0.5s0.6,0.5,0.9,0.8l1.6-0.6c0.2-0.1,0.3-0.1,0.5,0s0.3,0.2,0.4,0.4l0.4,0.6c0.1,0.2,0.1,0.3,0.1,0.5
s-0.1,0.3-0.3,0.4l-1.2,1c0.1,0.2,0.1,0.4,0.2,0.6c0,0.2,0.1,0.4,0.1,0.6c0,0.2,0,0.4-0.1,0.6c0,0.2-0.1,0.4-0.2,0.6l1.2,1
c0.2,0.1,0.3,0.3,0.3,0.4c0,0.2,0,0.3-0.1,0.5l-0.4,0.7c-0.1,0.2-0.2,0.3-0.4,0.4s-0.3,0.1-0.5,0l-1.6-0.6c-0.2,0.3-0.5,0.5-0.9,0.8
s-0.7,0.4-1,0.5l-0.3,1.2c-0.1,0.2-0.2,0.3-0.3,0.4s-0.3,0.1-0.5,0.1H39V19.1z M39.3,15.5c0.8,0,1.5-0.3,2.1-0.8
c0.6-0.6,0.8-1.2,0.8-2.1c0-0.8-0.3-1.5-0.8-2.1c-0.5-0.5-1.2-0.8-2.1-0.8s-1.5,0.3-2.1,0.8c-0.6,0.6-0.8,1.2-0.8,2.1
c0,0.8,0.3,1.5,0.8,2.1C37.8,15.2,38.5,15.5,39.3,15.5z M33.4,30c0,0-0.2-0.1-0.5-0.4v-1c-0.2-0.1-0.5-0.3-0.7-0.5
c-0.3-0.2-0.5-0.3-0.7-0.5l-1,0.5c0,0-0.2-0.1-0.6-0.1l-0.6-1v-0.6l1-0.7c-0.1-0.1-0.1-0.3-0.1-0.4v-0.8c0-0.1,0-0.2,0.1-0.4l-1-0.7
c0,0,0-0.2,0-0.6l0.6-0.9c0,0,0.2-0.1,0.6-0.1l1,0.5l0.7-0.5c0.2-0.2,0.5-0.3,0.7-0.5v-1c0-0.1,0.2-0.2,0.5-0.4h1.2
c0,0,0.2,0.1,0.5,0.4v1c0.2,0.1,0.5,0.3,0.7,0.5l0.7,0.5l1-0.5c0,0,0.2,0,0.6,0.1l0.6,0.9v0.6l-1,0.7c0.1,0.1,0.1,0.3,0.1,0.4v0.8
c0,0.1,0,0.2-0.1,0.4l1,0.7c0,0,0,0.2,0,0.6l-0.6,0.9c0,0-0.2,0.1-0.6,0.1l-1-0.5c-0.2,0.2-0.4,0.3-0.7,0.5
c-0.2,0.2-0.5,0.3-0.7,0.5v1c0,0.1-0.2,0.2-0.5,0.4h-1.2V30z M34,26.9c0.5,0,1-0.2,1.3-0.5c0.4-0.4,0.5-0.8,0.5-1.4s-0.2-1-0.5-1.4
S34.5,23,34,23s-1,0.2-1.3,0.5s-0.5,0.8-0.5,1.4c0,0.5,0.2,1,0.5,1.4S33.5,26.9,34,26.9z M17.9,26.8c-2.2,0-4-0.7-5.4-2.1
s-2.1-3.2-2.1-5.4H9.9c-0.3,0-0.5-0.1-0.7-0.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7s0.4-0.3,0.7-0.3h0.5
c0-1.3,0.3-2.5,1-3.6s1.5-1.9,2.6-2.6v2c0,0.2,0.1,0.4,0.2,0.5c0.2,0.2,0.3,0.2,0.5,0.2s0.4-0.1,0.6-0.2c0.1-0.1,0.2-0.3,0.2-0.5
v-2.6c0.3-0.1,0.6-0.1,1.1-0.2c0.5-0.1,0.9-0.1,1.4-0.1s0.9,0,1.4,0.1c0.5,0,0.8,0.1,1.1,0.2V13c0,0.2,0.1,0.4,0.2,0.5
c0.1,0.2,0.3,0.2,0.5,0.2s0.4-0.1,0.5-0.2c0.1-0.1,0.2-0.3,0.2-0.5v-1.9c1.1,0.7,1.9,1.5,2.5,2.6s1,2.3,1,3.6h0.5
c0.3,0,0.5,0.1,0.7,0.3s0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7c-0.2,0.2-0.4,0.3-0.7,0.3h-0.5c0,2.1-0.7,3.9-2.1,5.4
C21.9,26,20.1,26.8,17.9,26.8z M17.9,23.8c1.4,0,2.5-0.4,3.3-1.2s1.2-1.9,1.2-3.2h-9c0,1.3,0.4,2.4,1.2,3.2
C15.4,23.3,16.5,23.8,17.9,23.8z M2.1,42v-4.6c0-1.1,0.3-2.1,0.8-2.8s1.3-1.4,2.2-1.8c1.8-0.9,3.7-1.6,5.8-2.1c2-0.6,4.4-0.9,7-0.9
s4.9,0.3,7,0.9s4,1.3,5.8,2.1c1,0.5,1.7,1.1,2.3,1.8s0.8,1.7,0.8,2.8V42H2.1z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

@ -10,6 +10,34 @@ function pf_utf8_encode(string $string): string {
return iconv("ISO-8859-1", "UTF-8", $string);
}
function hasProfileSetting($setting, $default) {
global $_PROFILE;
if (isset($_PROFILE["ultra"]) && $_PROFILE["ultra"] && isset($_PROFILE["studio_settings"]) && isset($_PROFILE["studio_settings"]["profile"]) && isset($_PROFILE["studio_settings"]["profile"][$setting])) {
return $_PROFILE["studio_settings"]["profile"][$setting];
} else {
return $default;
}
}
function badges($data) { ?>
<?php if ($data["plus"] && !$data["ultra"]): ?>
<img title="Delta Plus" data-bs-toggle="tooltip" src="/logo-plus.svg" style="width: 36px;">
<?php endif; ?>
<?php if ($data["ultra"] && hasProfileSetting("badge", true)): ?>
<img title="Delta Ultra" data-bs-toggle="tooltip" src="/logo-ultra.svg" style="width: 36px;">
<?php endif; ?>
<?php if ($data["hunter"]): ?>
<img title="<?= l("lang_badges_hunter") ?>" data-bs-toggle="tooltip" src="/badges/hunter.svg" style="width: 36px;">
<?php endif; ?>
<?php if ($data["admin"]): ?>
<img title="<?= l("lang_badges_admin") ?>" data-bs-toggle="tooltip" src="/badges/staff.svg" style="width: 36px;">
<?php endif; ?>
<?php if ($data["eap"]): ?>
<img title="<?= l("lang_badges_eap") ?>" data-bs-toggle="tooltip" src="/badges/eap.svg" style="width: 36px;">
<?php endif; ?>
<?php }
function initLang(): void {
if (isset($_PROFILE) && isset($_PROFILE["language"])) {
genLang("en");
@ -350,6 +378,34 @@ function getFileFromId($id) {
return $_SERVER["DOCUMENT_ROOT"] . "/includes/data/profiles/" . $id . ".json";
}
return null;
}
function getUrlFromId($id) {
if (file_exists($_SERVER["DOCUMENT_ROOT"] . "/includes/data/people/" . $id . ".json")) {
return "/people/" . $id;
} elseif (file_exists($_SERVER["DOCUMENT_ROOT"] . "/includes/data/gallery/" . $id . ".json")) {
return "/gallery/" . $id;
} elseif (file_exists($_SERVER["DOCUMENT_ROOT"] . "/includes/data/articles/" . $id . ".json")) {
return "/articles/" . $id;
} elseif (file_exists($_SERVER["DOCUMENT_ROOT"] . "/includes/data/profiles/" . $id . ".json")) {
return "/profile/" . $id;
}
return "/";
}
function getTypeFromId($id) {
if (file_exists($_SERVER["DOCUMENT_ROOT"] . "/includes/data/people/" . $id . ".json")) {
return "people";
} elseif (file_exists($_SERVER["DOCUMENT_ROOT"] . "/includes/data/gallery/" . $id . ".json")) {
return "gallery";
} elseif (file_exists($_SERVER["DOCUMENT_ROOT"] . "/includes/data/articles/" . $id . ".json")) {
return "articles";
} elseif (file_exists($_SERVER["DOCUMENT_ROOT"] . "/includes/data/profiles/" . $id . ".json")) {
return "profiles";
}
return $id;
}

@ -20,10 +20,20 @@ if (isset($_PROFILE)) {
$_PROFILE["studio_settings"] = [
"theme" => $palettes["default"],
"dark" => false,
"navigation" => [
"top" => [],
"bottom" => [],
"home" => []
],
"profile" => [
"badge" => true,
"theme" => -1,
"detailed" => false
"detailed" => false,
"photo" => true,
"hide" => false,
"phone" => true,
"email" => true,
"birth" => true
]
];
}
@ -45,10 +55,10 @@ if (isset($_PROFILE)) {
}
}
$id = str_replace("/", "-", substr($_GET["__"], 1));
$_id = str_replace("/", "-", substr($_GET["__"], 1));
if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/profiles/" . $id . ".json")) {
$_ = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/profiles/" . $id . ".json"), true);
if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/profiles/" . $_id . ".json")) {
$_ = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/data/profiles/" . $_id . ".json"), true);
if (isset($_["ultra"]) && $_["ultra"] && isset($_["studio_settings"]) && isset($_["studio_settings"]["profile"]["theme"]) && $_["studio_settings"]["profile"]["theme"] !== -1 && isset($palettes["list"][$_["studio_settings"]["profile"]["theme"]])) {
$userPalette = $palettes["list"][$_["studio_settings"]["profile"]["theme"]][$_PROFILE["studio_settings"]["dark"] === true ? "dark" : "light"];
@ -124,6 +134,10 @@ if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/profiles/" . $id . "
color: inherit !important;
}
figure.image img {
max-width: 100%;
}
.update-user:hover {
opacity: .75;
}
@ -282,7 +296,7 @@ if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/profiles/" . $id . "
}
@media (max-width: 767px) {
#profile-grid {
#profile-grid, #profile-grid-2 {
grid-template-columns: 1fr !important;
grid-row-gap: 20px;
}
@ -422,6 +436,10 @@ if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/profiles/" . $id . "
margin-left: auto;
margin-right: auto;
}
.badge-subscription-mobile {
display: none;
}
<?php endif; ?>
<?php if (isset($_COOKIE["DeltaHandoffPalette"]) || isset($userPalette)):
@ -446,6 +464,7 @@ if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/includes/data/profiles/" . $id . "
--bs-secondary-color: #<?= $palette[6] ?> !important;
--bs-secondary-color-rgb: <?= rgb($palette[6]) ?> !important;
--bs-secondary-bg: #<?= $palette[1] ?> !important;
--bs-secondary: #<?= $palette[6] ?> !important;
--bs-secondary-bg-rgb: <?= rgb($palette[1]) ?> !important;
--bs-tertiary-color: #<?= $palette[6] ?> !important;

@ -10,6 +10,8 @@
"date": null,
"plus": false,
"ultra": false,
"hunter": false,
"eap": false,
"renewal": null,
"last_plan_update": null,
"balance": 0,
@ -21,5 +23,24 @@
"alerts": [],
"last_seen": null,
"contents": null,
"devices": []
"devices": [],
"studio_settings": {
"theme": 14,
"dark": false,
"navigation": {
"top": [],
"bottom": [],
"home": []
},
"profile": {
"badge": true,
"theme": -1,
"detailed": false,
"photo": true,
"hide": false,
"phone": true,
"email": true,
"birth": true
}
}
}

@ -700,6 +700,46 @@
"light": "Light theme",
"profile": "Profile",
"on": "On",
"off": "Off"
"off": "Off",
"redacted": "[redacted]",
"settings": {
"badge": {
"title": "Show subscription badge",
"description": "Display the Delta Ultra badge next to your name"
},
"detailed": {
"title": "Detailed statistics information",
"description": "Show more statistics about you, such as your most viewed pages"
},
"photo": {
"title": "Show profile picture",
"description": "Show your profile picture next to other personal information"
},
"hide": {
"title": "Hide statistics information",
"description": "Hide all statistics from your profile (dates and pending requests)"
},
"birth": {
"title": "Show complete birth date",
"description": "Show your complete birth date next to your age"
},
"phone": {
"title": "Show phone number",
"description": "Show your phone number on your profile"
},
"email": {
"title": "Show email address",
"description": "Show your email address on your profile"
}
},
"details": {
"most": "Most viewed pages:",
"requests": "Latest change requests:"
}
},
"badges": {
"admin": "Delta staff",
"eap": "Early supporter",
"hunter": "Delta bug hunters"
}
}

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 39 39" style="enable-background:new 0 0 39 39;" xml:space="preserve">
<style type="text/css">
.st0{fill:url(#SVGID_1_);}
</style>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5.7953" y1="16.9853" x2="33.2453" y2="44.4353" gradientTransform="matrix(1 0 0 -1 0 50)">
<stop offset="0" style="stop-color:#C711E1"/>
<stop offset="1" style="stop-color:#7F52FF"/>
</linearGradient>
<path class="st0" d="M19.5,39c-0.3,0-0.5,0-0.8-0.1s-0.5-0.2-0.7-0.3L3,30c-0.5-0.3-0.8-0.6-1.1-1.1c-0.3-0.4-0.4-0.9-0.4-1.4V11.1
c0-0.6,0.1-1.1,0.4-1.6S2.6,8.7,3,8.4l15-8.1c0.2-0.1,0.5-0.2,0.7-0.3c0.2,0,0.5-0.1,0.8-0.1s0.5,0,0.8,0.1c0.2,0.1,0.5,0.1,0.7,0.3
l15,8.1c0.5,0.3,0.8,0.6,1.1,1.1s0.4,1,0.4,1.6v16.4c0,0.6-0.1,1.1-0.4,1.5c-0.3,0.5-0.6,0.8-1.1,1.1l-15,8.6
c-0.2,0.1-0.5,0.2-0.7,0.3S19.8,39,19.5,39z M13.8,14.6c0.8-0.8,1.6-1.4,2.6-1.9s2-0.7,3.1-0.7s2.1,0.2,3.1,0.7s1.9,1.1,2.6,1.9
l7.7-4.5L19.5,3L6.1,10.1L13.8,14.6z M18,35.2v-8.4c-1.7-0.5-3.2-1.4-4.3-2.7S12,21.2,12,19.5c0-0.3,0-0.7,0-1
c0-0.4,0.1-0.8,0.3-1.2l-7.8-4.7v14.9L18,35.2z M19.5,24c1.3,0,2.3-0.4,3.2-1.3c0.9-0.9,1.3-1.9,1.3-3.2c0-1.3-0.4-2.3-1.3-3.2
c-0.9-0.9-1.9-1.3-3.2-1.3c-1.2,0-2.3,0.4-3.2,1.3c-0.9,0.9-1.3,1.9-1.3,3.2c0,1.2,0.4,2.3,1.3,3.2C17.2,23.6,18.3,24,19.5,24z
M21,35.2l13.5-7.7V12.6l-7.9,4.6c0.2,0.5,0.3,0.9,0.3,1.2c0,0.3,0,0.7,0,1c0,1.7-0.6,3.3-1.7,4.6c-1.1,1.4-2.6,2.3-4.3,2.7L21,35.2
z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:url(#SVGID_1_);}
</style>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="10.2717" y1="37.4783" x2="37.7283" y2="10.0217">
<stop offset="0" style="stop-color:#C711E1"/>
<stop offset="1" style="stop-color:#7F52FF"/>
</linearGradient>
<path class="st0" d="M24,43.5c-0.3,0-0.5,0-0.8-0.1s-0.5-0.2-0.7-0.3l-15-8.6c-0.5-0.3-0.8-0.6-1.1-1.1C6.1,33,6,32.5,6,32V15.6
C6,15,6.1,14.5,6.4,14c0.3-0.5,0.7-0.8,1.1-1.1l15-8.1c0.2-0.1,0.5-0.2,0.7-0.3c0.2,0,0.5-0.1,0.8-0.1s0.5,0,0.8,0.1
c0.2,0.1,0.5,0.1,0.7,0.3l15,8.1c0.5,0.3,0.8,0.6,1.1,1.1c0.3,0.5,0.4,1,0.4,1.6V32c0,0.6-0.1,1.1-0.4,1.5c-0.3,0.5-0.6,0.8-1.1,1.1
l-15,8.6c-0.2,0.1-0.5,0.2-0.7,0.3S24.3,43.5,24,43.5z M18.3,19.1c0.8-0.8,1.6-1.4,2.6-1.9s2-0.7,3.1-0.7s2.1,0.2,3.1,0.7
s1.9,1.1,2.6,1.9l7.7-4.5L24,7.5l-13.4,7.1L18.3,19.1z M22.5,39.7v-8.4c-1.7-0.5-3.2-1.4-4.3-2.7s-1.7-2.9-1.7-4.6c0-0.3,0-0.7,0-1
c0-0.4,0.1-0.8,0.3-1.2L9,17.1V32L22.5,39.7z M24,28.5c1.3,0,2.3-0.4,3.2-1.3c0.9-0.9,1.3-1.9,1.3-3.2c0-1.3-0.4-2.3-1.3-3.2
c-0.9-0.9-1.9-1.3-3.2-1.3c-1.2,0-2.3,0.4-3.2,1.3s-1.3,1.9-1.3,3.2c0,1.2,0.4,2.3,1.3,3.2C21.7,28.1,22.8,28.5,24,28.5z M25.5,39.7
L39,32V17.1l-7.9,4.6c0.2,0.5,0.3,0.9,0.3,1.2c0,0.3,0,0.7,0,1c0,1.7-0.6,3.3-1.7,4.6c-1.1,1.4-2.6,2.3-4.3,2.7L25.5,39.7z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 38.9 38.9" style="enable-background:new 0 0 38.9 38.9;" xml:space="preserve">
<style type="text/css">
.st0{fill:url(#SVGID_1_);}
</style>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5.7875" y1="16.7625" x2="33.1407" y2="44.1158" gradientTransform="matrix(1 0 0 -1 0 50)">
<stop offset="6.200396e-04" style="stop-color:#D6E012;stop-opacity:0.75"/>
<stop offset="1" style="stop-color:#BF763D"/>
</linearGradient>
<path class="st0" d="M13.7,14.8L3.1,8.6L18,0.4C18.5,0.1,19,0,19.5,0s1,0.1,1.5,0.4L36,8.6l-10.6,6.2c-0.8-0.8-1.6-1.4-2.6-1.9
s-2-0.7-3.1-0.7s-2.1,0.2-3.1,0.7C15.3,13.4,14.6,13.9,13.7,14.8z M18,38.9L3,30.2c-0.5-0.3-0.8-0.6-1.1-1.1c-0.3-0.5-0.4-1-0.4-1.5
V11l10.9,6.4c-0.2,0.4-0.3,0.8-0.3,1.2c0,0.4,0,0.7,0,1c0,1.7,0.6,3.3,1.7,4.6c1.1,1.4,2.6,2.3,4.3,2.7L18,38.9z M19.5,24.1
c-1.2,0-2.3-0.4-3.2-1.3c-0.9-0.9-1.3-1.9-1.3-3.2c0-1.3,0.4-2.3,1.3-3.2c0.9-0.9,1.9-1.3,3.2-1.3c1.3,0,2.3,0.4,3.2,1.3
c0.9,0.9,1.3,1.9,1.3,3.2c0,1.2-0.4,2.3-1.3,3.2C21.8,23.8,20.8,24.1,19.5,24.1z M21,38.9V27c1.7-0.5,3.2-1.4,4.3-2.7
c1.1-1.4,1.7-2.9,1.7-4.6c0-0.3,0-0.7,0-1c0-0.4-0.1-0.8-0.3-1.2L37.5,11v16.7c0,0.6-0.1,1.1-0.4,1.5c-0.3,0.5-0.6,0.8-1.1,1.1
L21,38.9z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 48 48" style="enable-background:new 0 0 48 48;" xml:space="preserve">
<style type="text/css">
.st0{fill:url(#SVGID_1_);}
</style>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="10.3234" y1="37.5299" x2="37.6766" y2="10.1766">
<stop offset="6.200396e-04" style="stop-color:#D6E012;stop-opacity:0.75"/>
<stop offset="1" style="stop-color:#BF763D"/>
</linearGradient>
<path class="st0" d="M18.3,19.1L7.7,12.9l14.9-8.1c0.5-0.3,1-0.4,1.5-0.4s1,0.1,1.5,0.4l14.9,8.1l-10.6,6.2
c-0.8-0.8-1.6-1.4-2.6-1.9s-2-0.7-3.1-0.7s-2.1,0.2-3.1,0.7C19.9,17.7,19.1,18.3,18.3,19.1z M22.5,43.2l-15-8.6
c-0.5-0.3-0.8-0.6-1.1-1.1C6.1,33,6,32.5,6,32V15.3l10.9,6.4c-0.2,0.4-0.3,0.8-0.3,1.2c0,0.4,0,0.7,0,1c0,1.7,0.6,3.3,1.7,4.6
c1.1,1.4,2.6,2.3,4.3,2.7L22.5,43.2z M24,28.5c-1.2,0-2.3-0.4-3.2-1.3c-0.9-0.9-1.3-1.9-1.3-3.2c0-1.3,0.4-2.3,1.3-3.2
s1.9-1.3,3.2-1.3c1.3,0,2.3,0.4,3.2,1.3c0.9,0.9,1.3,1.9,1.3,3.2c0,1.2-0.4,2.3-1.3,3.2C26.3,28.1,25.3,28.5,24,28.5z M25.5,43.2
V31.4c1.7-0.5,3.2-1.4,4.3-2.7c1.1-1.4,1.7-2.9,1.7-4.6c0-0.3,0-0.7,0-1c0-0.4-0.1-0.8-0.3-1.2L42,15.3V32c0,0.6-0.1,1.1-0.4,1.5
c-0.3,0.5-0.6,0.8-1.1,1.1L25.5,43.2z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -9,14 +9,14 @@ global $_PROFILE; global $_USER; global $unreadAlerts;
?>
<div class="container">
<br><br>
<br><br><br>
<div style="text-align: center;">
<img src="https://delta.equestria.dev/handoff/avatar/" style="width: 96px;">
<h3 style="margin-top: 10px;"><?= $_PROFILE["nick_name"] ?? $_PROFILE["first_name"] . " " . $_PROFILE["last_name"] ?></h3>
<?php if ($_PROFILE["plus"]): ?>
<?php if (!$_PROFILE["ultra"]): ?> <span style="display: inline-block !important;" class="badge badge-plus rounded-pill">PLUS</span><?php else: ?> <span style="display: inline-block !important;" class="badge badge-ultra rounded-pill">ULTRA</span><?php endif; ?>
<?php endif; ?>
<div style="margin: 0 20px;">
<img src="https://delta.equestria.dev/handoff/avatar/" style="width: 80px;">
<h3 style="margin-top: 10px;">
<span style="position: relative;top: 4px;"><?= $_PROFILE["nick_name"] ?? $_PROFILE["first_name"] . " " . $_PROFILE["last_name"] ?></span>
<span style="float: right;"><?php badges($_PROFILE); ?></span>
</h3>
</div>
<hr>

@ -141,8 +141,8 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/navigation.php";
<div class="card promo-item">
<div class="card-body">
<h4 class="card-title" style="text-align: center; margin-top: 10px;">
<img src="/logo.svg" style="width: 36px;margin-top: -5px;">
<span style="font-family: 'Josefin Sans', sans-serif; font-weight: bold; vertical-align: middle;">Delta</span>
<img src="/logo.svg" style="width: 36px;margin-top: -5px;"><br>
<span style="margin-top:15px;display:inline-block;font-size:32px;font-family: 'Josefin Sans', sans-serif; font-weight: bold; vertical-align: middle;">Delta</span>
</h4>
<ul style="margin-bottom: 20px; margin-top: 20px;">
@ -173,9 +173,9 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/navigation.php";
<div class="card promo-item">
<div class="card-body">
<h4 class="card-title" style="text-align: center; margin-top: 10px;">
<img src="/logo.svg" style="width: 36px;margin-top: -5px;">
<span style="font-family: 'Josefin Sans', sans-serif; font-weight: bold; vertical-align: middle;">Delta</span>
<span class="badge badge-plus rounded-pill" style="font-size: 12px; vertical-align: middle; margin-top: -5px;margin-left:5px;">PLUS</span>
<img src="/logo-plus-trim.svg" style="width: 36px;margin-top: -5px;"><br>
<span style="margin-top:15px;display:inline-block;font-size:32px;font-family: 'Josefin Sans', sans-serif; font-weight: bold; vertical-align: middle;">Delta</span>
<span class="badge badge-plus rounded-pill" style="font-size: 12px; vertical-align: middle; margin-top: 12px;margin-left:5px;">PLUS</span>
</h4>
<ul style="margin-bottom: 20px; margin-top: 20px;">
@ -208,9 +208,9 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/navigation.php";
<div class="card promo-item">
<div class="card-body">
<h4 class="card-title" style="text-align: center; margin-top: 10px;">
<img src="/logo.svg" style="width: 36px;margin-top: -5px;">
<span style="font-family: 'Josefin Sans', sans-serif; font-weight: bold; vertical-align: middle;">Delta</span>
<span class="badge badge-ultra rounded-pill" style="font-size: 12px; vertical-align: middle; margin-top: -5px;margin-left:5px;">ULTRA</span>
<img src="/logo-ultra-trim.svg" style="width: 36px;margin-top: -5px;"><br>
<span style="margin-top:15px;display:inline-block;font-size:32px;font-family: 'Josefin Sans', sans-serif; font-weight: bold; vertical-align: middle;">Delta</span>
<span class="badge badge-ultra rounded-pill" style="font-size: 12px; vertical-align: middle; margin-top: 12px;margin-left:5px;">ULTRA</span>
</h4>
<ul style="margin-bottom: 20px; margin-top: 20px;">

@ -15,13 +15,16 @@ if (!isset($_PROFILE["ultra"]) || !$_PROFILE["ultra"]) {
$palettes = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/themes.json"), true);
function check($name, $description, $checked, $action) { ?>
<div style="display: grid; grid-template-columns: 1fr max-content;">
<div></div>
function check($name, $description, $checked, $actionOn, $actionOff, $disable = false) { ?>
<div style="margin-top: 10px;display: grid; grid-template-columns: 1fr max-content;">
<div>
<p style="margin-bottom: 5px;"><?= $name ?></p>
<span class="text-muted"><?= $description ?></span>
</div>
<div style="display: flex; align-items: center; justify-content: end;">
<div class="btn-group">
<a href="/studio/light/?dark" type="button" class="btn <?= $checked ? "btn-primary" : "btn-outline-primary" ?>"><?= l("lang_studio_on") ?></a>
<a href="/studio/light/?light" type="button" class="btn <?= !$checked ? "btn-primary" : "btn-outline-primary" ?>"><?= l("lang_studio_off") ?></a>
<a href="<?= $actionOn ?>" type="button" class="<?= $disable ? "disabled " : "" ?>btn <?= $checked ? "btn-primary" : "btn-outline-primary" ?>"><?= l("lang_studio_on") ?></a>
<a href="<?= $actionOff ?>" type="button" class="<?= $disable ? "disabled " : "" ?>btn <?= !$checked ? "btn-primary" : "btn-outline-primary" ?>"><?= l("lang_studio_off") ?></a>
</div>
</div>
</div>
@ -68,8 +71,20 @@ function check($name, $description, $checked, $action) { ?>
<?php endforeach; ?>
</div>
<div style="margin-top: 10px;">
<?php check("Test", "This is a test", false, "alert('a');") ?>
<div style="margin-top: 20px;">
<?php check(l("lang_studio_settings_badge_title"), l("lang_studio_settings_badge_description"), $_PROFILE["studio_settings"]["profile"]["badge"], "/studio/profile/?id=badge&value=1", "/studio/profile/?id=badge&value=0") ?>
<?php check(l("lang_studio_settings_photo_title"), l("lang_studio_settings_photo_description"), $_PROFILE["studio_settings"]["profile"]["photo"], "/studio/profile/?id=photo&value=1", "/studio/profile/?id=photo&value=0") ?>
<?php check(l("lang_studio_settings_birth_title"), l("lang_studio_settings_birth_description"), $_PROFILE["studio_settings"]["profile"]["birth"], "/studio/profile/?id=birth&value=1", "/studio/profile/?id=birth&value=0") ?>
<?php check(l("lang_studio_settings_phone_title"), l("lang_studio_settings_phone_description"), $_PROFILE["studio_settings"]["profile"]["phone"], "/studio/profile/?id=phone&value=1", "/studio/profile/?id=phone&value=0") ?>
<?php check(l("lang_studio_settings_email_title"), l("lang_studio_settings_email_description"), $_PROFILE["studio_settings"]["profile"]["email"], "/studio/profile/?id=email&value=1", "/studio/profile/?id=email&value=0") ?>
<?php check(l("lang_studio_settings_detailed_title"), l("lang_studio_settings_detailed_description"), $_PROFILE["studio_settings"]["profile"]["detailed"], "/studio/profile/?id=detailed&value=1", "/studio/profile/?id=detailed&value=0", true) ?>
<?php check(l("lang_studio_settings_hide_title"), l("lang_studio_settings_hide_description"), $_PROFILE["studio_settings"]["profile"]["hide"], "/studio/profile/?id=hide&value=1", "/studio/profile/?id=hide&value=0") ?>
</div>
<br><br>

@ -0,0 +1,17 @@
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/session.php";
if (!isset($_PROFILE["ultra"]) || !$_PROFILE["ultra"]) {
header("Location: /");
die();
}
$palettes = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/themes.json"), true);
if (isset($_GET['value']) && isset($_GET['id']) && isset($_PROFILE["studio_settings"]["profile"][$_GET["id"]]) && is_bool($_PROFILE["studio_settings"]["profile"][$_GET["id"]])) {
$_PROFILE["studio_settings"]["profile"][$_GET["id"]] = (bool)$_GET["value"];
saveProfile();
}
header("Location: /studio");
die();
Loading…
Cancel
Save