Show dateline when a comment is edited or deleted

Signed-off-by: Marcel Korpel <marcel.korpel@gmail.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
Marcel Korpel 2015-07-10 18:47:33 +02:00 committed by Lukas Fleischer
parent e331ce273c
commit 9cde6b0566
3 changed files with 37 additions and 15 deletions

View file

@ -96,6 +96,11 @@
color: #999;
}
.edited {
font-size: 0.9em;
color: #999;
}
.delete-comment-form, .edit-comment {
float: right;
margin-left: 8px;

View file

@ -47,9 +47,12 @@ function pkgbase_comments($base_id, $limit, $include_deleted) {
}
$dbh = DB::connect();
$q = "SELECT PackageComments.ID, UserName, UsersID, Comments, ";
$q.= "CommentTS, DelUsersID FROM PackageComments LEFT JOIN Users ";
$q.= "ON PackageComments.UsersID = Users.ID ";
$q = "SELECT PackageComments.ID, A.UserName AS UserName, UsersID, Comments, ";
$q.= "CommentTS, EditedTS, B.UserName AS EditUserName, ";
$q.= "DelUsersID, C.UserName AS DelUserName FROM PackageComments ";
$q.= "LEFT JOIN Users A ON PackageComments.UsersID = A.ID ";
$q.= "LEFT JOIN Users B ON PackageComments.EditedUsersID = B.ID ";
$q.= "LEFT JOIN Users C ON PackageComments.DelUsersID = C.ID ";
$q.= "WHERE PackageBaseID = " . $base_id . " ";
if (!$include_deleted) {
$q.= "AND DelUsersID IS NULL ";

View file

@ -16,19 +16,33 @@ $count = pkgbase_comments_count($base_id, $include_deleted);
</h3>
<?php while (list($indx, $row) = each($comments)): ?>
<?php if ($row['UserName'] && $SID):
$row['UserName'] = "<a href=\"" . get_user_uri($row['UserName']) . "\">{$row['UserName']}</a>";
endif; ?>
<?php
$date_fmtd = gmdate('Y-m-d H:i', $row['CommentTS']);
if ($row['UserName']) {
$user_fmtd = html_format_username($row['UserName']);
$heading = __('%s commented on %s', $user_fmtd, $date_fmtd);
} else {
$heading = __('Anonymous comment on %s', $date_fmtd);
}
if ($row['EditedTS']) {
$date_fmtd = gmdate('Y-m-d H:i', $row['EditedTS']);
$heading .= ' <span class="edited">(';
if ($row['DelUsersID']) {
$user_fmtd = html_format_username($row['DelUserName']);
$heading .= __('deleted on %s by %s', $date_fmtd, $user_fmtd);
} else {
$user_fmtd = html_format_username($row['EditUserName']);
$heading .= __('last edited on %s by %s', $date_fmtd, $user_fmtd);
}
$heading .= ')</span>';
}
$row['DelUserName'] = html_format_username($row['DelUserName']);
$row['EditUserName'] = html_format_username($row['EditUserName']);
?>
<h4<?php if ($row['DelUsersID']): ?> class="comment-deleted"<?php endif; ?>>
<?php if ($row['UserName']): ?>
<?= __('%s commented', $row['UserName']) ?>
<?php else: ?>
<?= __('Anonymous comment') ?>
<?php endif; ?>
<?= __('on %s', gmdate('Y-m-d H:i', $row['CommentTS'])) ?>
<?php if ($row['DelUsersID']): ?>
(<?= __('deleted') ?>)
<?php endif; ?>
<?= $heading ?>
<?php if (!$row['DelUsersID'] && can_delete_comment_array($row)): ?>
<form class="delete-comment-form" method="post" action="<?= htmlspecialchars(get_pkgbase_uri($pkgbase_name), ENT_QUOTES); ?>">
<fieldset style="display:inline;">