summaryrefslogtreecommitdiff
path: root/src/application/views/view_post.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/application/views/view_post.php')
-rw-r--r--src/application/views/view_post.php32
1 files changed, 22 insertions, 10 deletions
diff --git a/src/application/views/view_post.php b/src/application/views/view_post.php
index 5022d4a..26eec62 100644
--- a/src/application/views/view_post.php
+++ b/src/application/views/view_post.php
@@ -3,11 +3,17 @@
use mystic\forum\orm\UserPermissions;
use mystic\forum\orm\Attachment;
+/** @var mystic\forum\orm\Post $post */
+/** @var mystic\forum\orm\User $postAuthor */
+
$fileAttachments = array_filter($attachments, fn(Attachment $a) => !str_starts_with($a->mimeType, "image/"));
$imageAttachments = array_filter($attachments, fn(Attachment $a) => str_starts_with($a->mimeType, "image/"));
$canReply = $GLOBALS["currentUser"]?->hasPermission(UserPermissions::CREATE_OWN_POST) ?? false;
+$canEdit = ($GLOBALS["currentUser"]?->id === $postAuthor?->id && $postAuthor?->hasPermission(UserPermissions::EDIT_OWN_POST))
+ || ($GLOBALS["currentUser"]?->hasPermission(UserPermissions::EDIT_OTHER_POST));
+
$canDelete = ($GLOBALS["currentUser"]?->id === $postAuthor?->id && $postAuthor?->hasPermission(UserPermissions::DELETE_OWN_POST))
|| ($GLOBALS["currentUser"]?->hasPermission(UserPermissions::DELETE_OTHER_POST));
@@ -30,15 +36,15 @@ $your_are_the_author = $GLOBALS["currentUser"]?->id === $postAuthor?->id;
</div>
</div>
<?php else: ?>
-<div class="media" id="post-<?= htmlentities($post->id) ?>">
+<div class="media" id="post-<?= htmlentities($post->id) ?>" data-text="<?= htmlentities($post->content) ?>">
<?php if (!$hide_pfp): ?>
<div class="media-left hidden-sm hidden-xs">
<?php if ($postAuthor): ?>
<?php if ($hide_actions): ?>
- <img class="media-object" alt="Profile picture" src="?_action=profilepicture&amp;user=<?= htmlentities(urlencode($postAuthor->id)) ?>" alt="" width="64" height="64">
+ <img class="media-object" alt="Profile picture" src="?_action=profilepicture&amp;user=<?= htmlentities(urlencode($postAuthor->id)) ?>" width="64" height="64">
<?php else: ?>
<a href="?_action=viewuser&amp;user=<?= htmlentities(urlencode($postAuthor->id)) ?>">
- <img class="media-object" alt="Profile picture" src="?_action=profilepicture&amp;user=<?= htmlentities(urlencode($postAuthor->id)) ?>" alt="" width="64" height="64">
+ <img class="media-object" alt="Profile picture" src="?_action=profilepicture&amp;user=<?= htmlentities(urlencode($postAuthor->id)) ?>" width="64" height="64">
</a>
<?php endif; ?>
<?php else: ?>
@@ -49,12 +55,15 @@ $your_are_the_author = $GLOBALS["currentUser"]?->id === $postAuthor?->id;
<div class="media-body">
<div class="panel panel-default">
<div class="panel-heading">
- <h3 class="panel-title">
+ <div class="panel-title h3">
<?php if (!$hide_actions): ?>
<div class="pull-right">
- <?php if ($canReply): ?>
<a href="#post-<?= htmlentities(urlencode($post->id)) ?>" class="btn btn-default"><span class="glyphicon glyphicon-link" aria-hidden="true"></span><span class="sr-only">Permalink</span></a>
- <button data-text="<?= htmlentities($post->content) ?>" class="btn btn-default js-only _reply-post"><span class="glyphicon glyphicon-share-alt" aria-hidden="true"></span><span class="sr-only">Reply to post</span></button>
+ <?php if ($canReply): ?>
+ <button data-post-id="<?= htmlentities($post->id) ?>" class="btn btn-default js-only _reply-post"><span class="glyphicon glyphicon-share-alt" aria-hidden="true"></span><span class="sr-only">Reply to post</span></button>
+ <?php endif; ?>
+ <?php if ($canEdit): ?>
+ <button data-post-id="<?= htmlentities($post->id) ?>" class="btn btn-default js-only _edit-post"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span><span class="sr-only">Edit post</span></button>
<?php endif; ?>
<?php if ($canDelete): ?>
<form action="?_action=deletepost" method="post" class="seamless-inline">
@@ -76,21 +85,24 @@ $your_are_the_author = $GLOBALS["currentUser"]?->id === $postAuthor?->id;
<?php else: ?>
<em class="text-muted">(deleted)</em>
<?php endif; ?>
- </h3>
+ </div>
<span class="_time"><?= $post->postDate->format("c"); ?></span>
+ <?php if ($post->edited): ?>
+ <em class="text-muted">(edited)</em>
+ <?php endif; ?>
</div>
<div class="panel-body">
- <div class="post-content"><?= renderPost($post->content) ?></div>
+ <div class="post-content"><?= renderPost(trim($post->content)) ?></div>
<?php if (count($imageAttachments) > 0): ?>
<div class="post-images clearfix">
<?php /** @var Attachment $attachment */ foreach ($imageAttachments as $attachment): ?>
<?php if ($hide_actions): ?>
<span class="image-attachment" title="<?= htmlentities($attachment->name) ?>">
- <img class="image-attachment-image" src="?_action=thumb&amp;attachment=<?= htmlentities(urlencode($attachment->id)) ?>" alt="" width="110">
+ <img class="image-attachment-image" src="?_action=thumb&amp;attachment=<?= htmlentities(urlencode($attachment->id)) ?>" alt="" width="100">
</span>
<?php else: ?>
<a class="image-attachment" href="?_action=attachment&amp;attachment=<?= htmlentities(urlencode($attachment->id)) ?>" title="<?= htmlentities($attachment->name) ?>">
- <img class="image-attachment-image" src="?_action=thumb&amp;attachment=<?= htmlentities(urlencode($attachment->id)) ?>" alt="" width="110">
+ <img class="image-attachment-image" src="?_action=thumb&amp;attachment=<?= htmlentities(urlencode($attachment->id)) ?>" alt="" width="100">
</a>
<?php endif; ?>
<?php endforeach; ?>