summaryrefslogtreecommitdiff
path: root/src/application/views/view_post.php
blob: 0776fb52a0f69bad379e720f70e3cd7bd6a99ae6 (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
<?php

use mystic\forum\orm\UserPermissions;
use mystic\forum\orm\Attachment;

$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;

$canDelete = ($GLOBALS["currentUser"]?->id === $postAuthor?->id && $postAuthor?->hasPermission(UserPermissions::DELETE_OWN_POST))
          || ($GLOBALS["currentUser"]?->hasPermission(UserPermissions::DELETE_OTHER_POST));

?>

<?php if ($post->deleted): ?>
<div class="media">
<div class="media-left hidden-sm hidden-xs">
    <div class="media-object" style="width:64px"></div>
</div>
<div class="media-body">
    <div class="well">
        <em>This post has been deleted</em>
    </div>
</div>
</div>
<?php else: ?>
<div class="media">
    <div class="media-left hidden-sm hidden-xs">
        <?php if ($postAuthor): ?>
            <a href="?_action=viewuser&amp;user=<?= htmlentities(urlencode($postAuthor->id)) ?>">
                <img class="media-object" src="/ui/placeholder.svg" alt="" width="64" height="64">
            </a>
        <?php else: ?>
            <div class="media-object" style="width:64px;height:64px"></div>
        <?php endif; ?>
    </div>
    <div class="media-body">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h3 class="panel-title">
                    <div class="pull-right">
                        <?php if ($canReply): ?>
                        <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 endif; ?>
                        <?php if ($canDelete): ?>
                            <form action="?_action=deletepost" method="post" class="seamless-inline">
                                <input type="hidden" name="post" value="<?= htmlentities($post->id) ?>">
                                <button type="submit" class="btn btn-danger"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span><span class="sr-only">Delete post</span></button>
                            </form>
                        <?php endif; ?>
                    </div>
                    <?php if ($postAuthor): ?>
                        <a href="?_action=viewuser&amp;user=<?= htmlentities(urlencode($postAuthor->id)) ?>"><?= htmlentities($postAuthor->displayName) ?></a>
                    <?php else: ?>
                        <em class="text-muted">(deleted)</em>
                    <?php endif; ?>
                </h3>
                <span class="_time"><?= $post->postDate->format("c"); ?></span>
            </div>
            <div class="panel-body">
                <div class="post-content"><?= renderPost($post->content) ?></div>
                <?php if (count($imageAttachments) > 0): ?>
                <div class="post-images clearfix">
                    <?php /** @var Attachment $attachment */ foreach ($imageAttachments as $attachment): ?>
                        <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">
                        </a>
                    <?php endforeach; ?>
                </div>
            <?php endif; ?>
            </div>
            <?php if (count($fileAttachments) > 0): ?>
                <div class="panel-footer">
                    <div class="btn-group">
                        <?php /** @var Attachment $attachment */ foreach ($fileAttachments as $attachment): ?>
                            <a class="btn btn-default" href="?_action=attachment&amp;attachment=<?= htmlentities(urlencode($attachment->id)) ?>"><?= htmlentities($attachment->name) ?></a>
                        <?php endforeach; ?>
                    </div>
                </div>
            <?php endif; ?>
        </div>
    </div>
</div>

<?php endif; ?>