summaryrefslogtreecommitdiff
path: root/src/application/views/view_user.php
diff options
context:
space:
mode:
authorJonas Kohl2024-10-17 10:56:01 +0200
committerJonas Kohl2024-10-17 10:56:01 +0200
commitfe0f414dc0211a4014581dc03fcfd514ed7ed02d (patch)
treecd86fc00cd9b7a97eabb9668e0a39e2b4b3e5357 /src/application/views/view_user.php
parente0e89b9fdbf301e0ead944636023947a67aca57d (diff)
Transition templating to Twig
Diffstat (limited to 'src/application/views/view_user.php')
-rw-r--r--src/application/views/view_user.php209
1 files changed, 0 insertions, 209 deletions
diff --git a/src/application/views/view_user.php b/src/application/views/view_user.php
deleted file mode 100644
index e7c9753..0000000
--- a/src/application/views/view_user.php
+++ /dev/null
@@ -1,209 +0,0 @@
-<?php
-
-use mystic\forum\orm\UserPermissions;
-use mystic\forum\utils\RequestUtils;
-use mystic\forum\utils\StringUtils;
-
-/** @var mystic\forum\orm\User $user */
-/** @var bool $lastNameChangeTooRecent */
-
-$canEdit = ($user->id === $GLOBALS["currentUser"]?->id && $user->hasPermission(UserPermissions::EDIT_OWN_USER))
- || $GLOBALS["currentUser"]?->hasPermission(UserPermissions::EDIT_OTHER_USER);
-
-$isOwnProfile = $user->id === $GLOBALS["currentUser"]?->id;
-
-$sUserPossessive = "";
-if ($isOwnProfile)
- $sUserPossessive = "Your posts";
-else
- $sUserPossessive = "%display_name%'s posts";
-
-$dateJoined = DateTime::createFromImmutable($user->created);
-$dateJoined->setTime(0, 0, 0, 0);
-
-$emailPending = $isOwnProfile && $user->pendingEmail !== null;
-?>
-
-<div class="clearfix page-header margin-top-0">
- <img class="pull-left margin-right" src="?_action=profilepicture&amp;user=<?= htmlentities(urlencode($user->id)) ?>" alt="<?= __("Profile picture") ?>" width="64" height="64">
- <span class="h1"><?= htmlentities($user->displayName) ?></span>
- <?php if ($isOwnProfile): ?>
- <span class="label label-primary"><?= __("You") ?></span>
- <?php endif; ?><br>
- @<?= htmlentities($user->name) ?> &bull; <span class="text-muted"><?= __("Member since %join_date%", [
- "join_date" => '<span class="_date">' . htmlentities($dateJoined->format("c")) . '</span>',
- ]) ?></span>
-</div>
-
-<?php if ($canEdit): ?>
-<div class="row">
-<div class="col-md-9">
-<?php endif; ?>
-
-<h3><?= __($sUserPossessive, [
- "display_name" => $user->displayName,
-]) ?></h3>
-
-<?php if (count($posts) > 0): ?>
- <div class="post-container">
- <div class="post-container-posts">
- <div class="list-group margin-top">
- <?php foreach ($posts as $post):
- if ($post->deleted) continue;
- $hasAttachments = count($attachments[$post->id]) > 0;
- ?>
- <a href="?_action=viewtopic&amp;topic=<?= htmlentities(urlencode($post->topicId)) ?>#post-<?= htmlentities(urlencode($post->id)) ?>" class="list-group-item">
- <?php if ($hasAttachments): ?>
- <span class="badge"><span class="fa fa-paperclip"></span></span>
- <?php endif; ?>
- <?= renderPostSummary($post->content) ?><br>
- <span class="text-muted"><?= __("posted on %post_date% in %topic%", [
- "post_date" => '<span class="_time">' . htmlentities($post->postDate->format("c")) . '</span>',
- "topic" => '<em>' .
- ($topics[$post->topicId]?->isLocked ? '<span class="fa fa-lock text-muted" aria-hidden="true"></span> ' : '') .
- htmlentities($topics[$post->topicId]?->title ?? "unknown") . '</em>',
- ]) ?></span>
- </a>
- <?php endforeach; ?>
- </div>
- </div>
- <div class="post-container-controls">
- <button class="btn btn-default"><?= __("Show all posts") ?></button>
- </div>
- </div>
-<?php else: ?>
- <div class="well icon-well text-info margin-top margin-bottom">
- <span class="fa fa-info-circle text-info" aria-hidden="true"></span>
- <em><?= __("This user has not posted anything yet") ?></em>
- </div>
-<?php endif; ?>
-
-<?php if ($canEdit): ?>
-</div>
-
-<div class="col-md-3">
-<h3><?= __("Edit profile") ?></h3>
-<?php
-if (($_formError = RequestUtils::getAndClearFormError("update_profile")) !== null) {
- _view("alert_error", ["message" => $_formError]);
-}
-?>
-<form action="<?= htmlentities($_SERVER["REQUEST_URI"]) ?>" method="post" enctype="multipart/form-data">
- <input type="hidden" name="form_id" value="update_profile">
- <div class="form-group">
- <label for="i_display_name"><?= __("Display name:") ?></label>
- <input required class="form-control" type="text" name="display_name" id="i_display_name" value="<?= htmlentities($user->displayName) ?>">
- </div>
- <div class="form-group">
- <label for="i_name"><?= __("Username:") ?></label>
- <?php if ($lastNameChangeTooRecent): ?>
- <input class="form-control" type="text" id="i_name" value="<?= htmlentities($user->name) ?>" disabled>
- <small class="text-danger"><strong><?= __("You can only change your username every 30 days!") ?></strong></small>
- <?php else: ?>
- <input required class="form-control" type="text" name="name" id="i_name" value="<?= htmlentities($user->name) ?>">
- <?php endif; ?>
- </div>
- <div class="form-group">
- <label for="i_email"><?= __("Email address:") ?></label>
- <?php if ($emailPending): ?>
- <input class="form-control" type="email" id="i_email" value="<?= htmlentities($user->email) ?>" disabled>
- <?php else: ?>
- <input required class="form-control" type="email" id="i_email" name="email" value="<?= htmlentities($user->email) ?>">
- <?php endif; ?>
- </div>
- <div class="form-group">
- <label><?= __("Profile picture:") ?></label>
-<?php
-$_checkbox_disabled = empty($user->profilePicture);
-$_checkbox_disabled_class = $_checkbox_disabled ? " disabled text-muted" : "";
-?>
- <div class="radio margin-top-0 <?= $_checkbox_disabled_class ?>">
- <label>
- <input type="radio" name="pfp_action" id="pfp_action_1" value="keep"<?= !empty($user->profilePicture) ? ' checked' : ' disabled' ?>>
- <?= __("Keep current profile picture") ?>
- </label>
- </div>
- <div class="radio">
- <label>
- <input type="radio" name="pfp_action" id="pfp_action_2" value="remove"<?= empty($user->profilePicture) ? ' checked' : '' ?>>
- <?php if (empty($user->profilePicture)): ?>
- <?= __("No profile picture") ?>
- <?php else: ?>
- <?= __("Remove profile picture") ?>
- <?php endif; ?>
- </label>
- </div>
- <div class="radio">
- <label>
- <input type="radio" name="pfp_action" value="replace" id="pfp_action_3">
- <?= __("Upload new profile picture") ?>
- </label>
- </div>
- <input type="file" name="pfp" id="i_pfp" accept="image/png,image/jpeg" class="margin-left-3x small">
- </div>
- <div class="form-group">
- <button type="submit" class="btn btn-success"><?= __("Save changes") ?></button>
- </div>
-</form>
-<?php if ($isOwnProfile): ?>
-<h3><?= __("Change password") ?></h3>
-<?php
-if (($_formError = RequestUtils::getAndClearFormError("update_password")) !== null) {
- _view("alert_error", ["message" => $_formError]);
-}
-?>
-<form action="<?= htmlentities($_SERVER["REQUEST_URI"]) ?>" method="post">
- <input type="hidden" name="form_id" value="update_password">
- <div class="form-group">
- <label for="i_current_password"><?= __("Current password:") ?></label>
- <input autocomplete="current-password" required class="form-control" type="password" name="current_password" id="i_current_password" required>
- </div>
- <div class="form-group">
- <label for="i_new_password"><?= __("New password:") ?></label>
- <input autocomplete="new-password" required class="form-control" type="password" name="new_password" id="i_new_password" required>
- </div>
- <div class="form-group">
- <label for="i_retype_password"><?= __("Retype password:") ?></label>
- <input autocomplete="new-password" required class="form-control" type="password" name="retype_password" id="i_retype_password" required>
- </div>
- <div class="form-group">
- <button type="submit" class="btn btn-success"><?= __("Change password") ?></button>
- </div>
-</form>
-<?php endif; ?>
-
-</div>
-
-</div>
-<?php endif; ?>
-
-<script>
-$(function() {
- $(".post-container").each(function(i, e) {
- if ($(e).height() > 900) { // more than 800 so it doesn't collapse just a few pixels
- $(e).addClass("collapsed");
- }
- $(e).find(".post-container-controls button").click(function() {
- $(e).removeClass("collapsed");
- });
- });
-});
-<?php if ($canEdit): ?>
-$(function() {
- function _hide() {
- $("#i_pfp").hide().prop("disabled", true).prop("required", false);
- $("#i_pfp + .file-input-group").hide().find("button").prop("disabled", true);
- }
- _hide();
- setTimeout(_hide, 10);
- $("[name='pfp_action']").on("change input check click", function() {
- if ($("#pfp_action_3").is(":checked")) {
- $("#i_pfp").show().prop("disabled", false).prop("required", true);
- $("#i_pfp + .file-input-group").show().find("button").prop("disabled", false);
- } else {
- _hide();
- }
- })
-});
-<?php endif; ?>
-</script>