diff options
author | Minteck <contact@minteck.org> | 2023-02-12 22:01:50 +0100 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2023-02-12 22:01:50 +0100 |
commit | dc1de74470b953c9b5c7834b272df58287be8eff (patch) | |
tree | 965a5992968b872554eb676ff9141dcd286c79ab | |
parent | de3eeee25f63de933571240b29b7cb0605472b12 (diff) | |
download | delta-dc1de74470b953c9b5c7834b272df58287be8eff.tar.gz delta-dc1de74470b953c9b5c7834b272df58287be8eff.tar.bz2 delta-dc1de74470b953c9b5c7834b272df58287be8eff.zip |
Updated 8 files and added 8 files (automated)
-rw-r--r-- | _profile/index.php | 76 | ||||
-rw-r--r-- | badges/eap.svg | 17 | ||||
-rw-r--r-- | badges/hunter.svg | 25 | ||||
-rw-r--r-- | badges/staff.svg | 37 | ||||
-rw-r--r-- | includes/functions.php | 56 | ||||
-rw-r--r-- | includes/header.php | 29 | ||||
-rw-r--r-- | includes/skels/profiles.json | 23 | ||||
-rw-r--r-- | lang/en.json | 42 | ||||
-rw-r--r-- | logo-plus-trim.svg | 21 | ||||
-rw-r--r-- | logo-plus.svg | 20 | ||||
-rw-r--r-- | logo-ultra-trim.svg | 19 | ||||
-rw-r--r-- | logo-ultra.svg | 19 | ||||
-rw-r--r-- | mobile_profile/index.php | 14 | ||||
-rw-r--r-- | plus/subscribe/index.php | 16 | ||||
-rw-r--r-- | studio/index.php | 29 | ||||
-rw-r--r-- | studio/profile/index.php | 17 |
16 files changed, 420 insertions, 40 deletions
diff --git a/_profile/index.php b/_profile/index.php index 5bcfb08..a7f01ca 100644 --- a/_profile/index.php +++ b/_profile/index.php @@ -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>", "<script>", $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; ?> diff --git a/badges/eap.svg b/badges/eap.svg new file mode 100644 index 0000000..989b1c6 --- /dev/null +++ b/badges/eap.svg @@ -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> diff --git a/badges/hunter.svg b/badges/hunter.svg new file mode 100644 index 0000000..3775bec --- /dev/null +++ b/badges/hunter.svg @@ -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> diff --git a/badges/staff.svg b/badges/staff.svg new file mode 100644 index 0000000..1ef4589 --- /dev/null +++ b/badges/staff.svg @@ -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> diff --git a/includes/functions.php b/includes/functions.php index 9b5980d..c1562e2 100644 --- a/includes/functions.php +++ b/includes/functions.php @@ -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; } diff --git a/includes/header.php b/includes/header.php index 3249eba..cfca944 100644 --- a/includes/header.php +++ b/includes/header.php @@ -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; diff --git a/includes/skels/profiles.json b/includes/skels/profiles.json index 6cff5fa..4979cb4 100644 --- a/includes/skels/profiles.json +++ b/includes/skels/profiles.json @@ -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 + } + } }
\ No newline at end of file diff --git a/lang/en.json b/lang/en.json index a858679..8f08fdd 100644 --- a/lang/en.json +++ b/lang/en.json @@ -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" } }
\ No newline at end of file diff --git a/logo-plus-trim.svg b/logo-plus-trim.svg new file mode 100644 index 0000000..81744e6 --- /dev/null +++ b/logo-plus-trim.svg @@ -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> diff --git a/logo-plus.svg b/logo-plus.svg new file mode 100644 index 0000000..b280efb --- /dev/null +++ b/logo-plus.svg @@ -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> diff --git a/logo-ultra-trim.svg b/logo-ultra-trim.svg new file mode 100644 index 0000000..6654d3c --- /dev/null +++ b/logo-ultra-trim.svg @@ -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> diff --git a/logo-ultra.svg b/logo-ultra.svg new file mode 100644 index 0000000..87f2572 --- /dev/null +++ b/logo-ultra.svg @@ -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> diff --git a/mobile_profile/index.php b/mobile_profile/index.php index 2783f9b..4de51aa 100644 --- a/mobile_profile/index.php +++ b/mobile_profile/index.php @@ -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> diff --git a/plus/subscribe/index.php b/plus/subscribe/index.php index dced541..784d781 100644 --- a/plus/subscribe/index.php +++ b/plus/subscribe/index.php @@ -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;"> diff --git a/studio/index.php b/studio/index.php index 7f07758..250eab2 100644 --- a/studio/index.php +++ b/studio/index.php @@ -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> diff --git a/studio/profile/index.php b/studio/profile/index.php new file mode 100644 index 0000000..f2f72bc --- /dev/null +++ b/studio/profile/index.php @@ -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();
\ No newline at end of file |