summaryrefslogtreecommitdiffstats
path: root/web/template
diff options
context:
space:
mode:
authorJohannes Löthberg <johannes@kyriasis.com>2018-08-06 02:02:57 +0200
committerLukas Fleischer <lfleischer@archlinux.org>2018-08-06 06:03:58 +0200
commit3578e77ad4e9258495eed7e786b7dc3aebcf1b63 (patch)
tree6261b4c66435d25ea10583c6a647d645e7182ed7 /web/template
parenta7865ef5aa0309976b5dd2642210632babe106d9 (diff)
downloadaur-3578e77ad4e9258495eed7e786b7dc3aebcf1b63.tar.gz
aur-3578e77ad4e9258495eed7e786b7dc3aebcf1b63.tar.xz
Allow listing all comments from a user
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com> Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
Diffstat (limited to 'web/template')
-rw-r--r--web/template/account_details.php3
-rw-r--r--web/template/account_edit_form.php1
-rw-r--r--web/template/pkg_comments.php99
3 files changed, 76 insertions, 27 deletions
diff --git a/web/template/account_details.php b/web/template/account_details.php
index 024bd9c3..fa6b528c 100644
--- a/web/template/account_details.php
+++ b/web/template/account_details.php
@@ -82,6 +82,9 @@
<?php if (can_edit_account($row)): ?>
<li><a href="<?= get_user_uri($row['Username']); ?>edit"><?= __("Edit this user's account") ?></a></li>
<?php endif; ?>
+ <?php if (has_credential(CRED_ACCOUNT_LIST_COMMENTS)): ?>
+ <li><a href="<?= get_user_uri($row['Username']); ?>comments"><?= __("List this user's comments") ?></a></li>
+ <?php endif; ?>
</ul></td>
</tr>
</table>
diff --git a/web/template/account_edit_form.php b/web/template/account_edit_form.php
index 6eff81bd..38d5274c 100644
--- a/web/template/account_edit_form.php
+++ b/web/template/account_edit_form.php
@@ -2,6 +2,7 @@
<p>
<?= __('Click %shere%s if you want to permanently delete this account.', '<a href="' . get_user_uri($N) . 'delete/' . '">', '</a>') ?>
<?= __('Click %shere%s for user details.', '<a href="' . get_user_uri($N) . '">', '</a>') ?>
+ <?= __('Click %shere%s to list the comments made by this account.', '<a href="' . get_user_uri($N) . 'comments/' . '">', '</a>') ?>
</p>
<form id="edit-profile-form" action="<?= get_user_uri($N) . 'update/'; ?>" method="post">
diff --git a/web/template/pkg_comments.php b/web/template/pkg_comments.php
index 3e5e5cc5..3001a342 100644
--- a/web/template/pkg_comments.php
+++ b/web/template/pkg_comments.php
@@ -1,28 +1,69 @@
<?php
-if (!isset($count)) {
- $count = pkgbase_comments_count($base_id, $include_deleted);
+if ($comment_section == "package") {
+ if (!isset($count)) {
+ $count = pkgbase_comments_count($base_id, $include_deleted);
+ }
}
?>
-<div id="news">
- <h3>
- <?php if (!isset($comments)): ?>
- <?php $comments = $pinned ?>
- <a href="<?= htmlentities(get_pkgbase_uri($pkgbase_name), ENT_QUOTES) . '?' . mkurl('comments=all') ?>" title="<?= __('View all comments' , $count) ?> (<?= $count ?>)"><?= __('Pinned Comments') ?></a>
- <span class="arrow"></span>
- <?php else: ?>
- <a href="<?= htmlentities(get_pkgbase_uri($pkgbase_name), ENT_QUOTES) . '?' . mkurl('comments=all') ?>" title="<?= __('View all comments' , $count) ?> (<?= $count ?>)"><?= __('Latest Comments') ?></a>
- <span class="arrow"></span>
+
+
+<?php if ($comment_section == "package"): ?>
+<div class="comments package-comments">
+<?php else: ?>
+<div class="comments">
+<?php endif; ?>
+ <div class="comments-header">
+ <h3>
+ <?php if ($comment_section == "package"): ?>
+ <?php if (!isset($comments)): ?>
+ <?php $comments = $pinned ?>
+ <span class="text"><?= __('Pinned Comments') ?></span>
+ <span class="arrow"></span>
+ <?php else: ?>
+ <span class="text"><?= __('Latest Comments') ?></span>
+ <span class="arrow"></span>
+ <?php endif; ?>
+ <?php elseif ($comment_section == "account"): ?>
+ <?= __("Comments for") ?> <a href="<?= htmlentities(get_uri('/account/' . $username), ENT_QUOTES) ?>"><?= $username ?></a>
+ <?php endif; ?>
+ </h3>
+
+ <?php if (isset($pagination_templs) && count($pagination_templs) > 1): ?>
+ <p class="comments-header-nav">
+ <?php foreach ($pagination_templs as $pagenr => $pagestart): ?>
+ <?php if ($pagestart === false): ?>
+ <span class="page"><?= $pagenr ?></span>
+ <?php elseif ($pagestart === $offset): ?>
+ <span class="page"><?= $pagenr ?></span>
+ <?php else: ?>
+ <?php if ($comment_section == "package"): ?>
+ <a class="page" href="<?= htmlentities(get_pkgbase_uri($pkgbase_name), ENT_QUOTES) . '?' . mkurl('O=' . $pagestart) ?>"><?= $pagenr ?></a>
+ <?php else: ?>
+ <a class="page" href="<?= get_uri('/account/' . $username . '/comments/') . '?' . mkurl('O=' . $pagestart) ?>"><?= $pagenr ?></a>
+ <?php endif; ?>
+ <?php endif; ?>
+ <?php endforeach; ?>
+ </p>
<?php endif; ?>
- </h3>
+ </div>
<?php foreach ($comments as $indx => $row): ?>
<?php
+ if ($comment_section == "account") {
+ $pkgbase_name = $row["PackageBaseName"];
+ }
+
$date_fmtd = date('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 ($comment_section == "package") {
+ 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);
+ }
+ } elseif ($comment_section == "account") {
+ $pkg_uri = '<a href=' . htmlspecialchars(get_pkg_uri($row['PackageBaseName']), ENT_QUOTES) . '>' . htmlspecialchars($row['PackageBaseName']) . '</a></td>';
+ $heading = __('Commented on package %s on %s', $pkg_uri, $date_fmtd);
}
$is_deleted = $row['DelTS'];
@@ -50,8 +91,13 @@ if (!isset($count)) {
}
$heading .= ')</span>';
}
+
+ $comment_classes = "comment-header";
+ if ($is_deleted) {
+ $comment_classes .= " comment-deleted";
+ }
?>
- <h4 id="<?= isset($pinned) ? "pinned-" : "comment-" ?><?= $row['ID'] ?>"<?php if ($is_deleted): ?> class="comment-deleted"<?php endif; ?>>
+ <h4 id="<?= isset($pinned) ? "pinned-" : "comment-" ?><?= $row['ID'] ?>" class="<?= $comment_classes ?>">
<?= $heading ?>
<?php if ($is_deleted && has_credential(CRED_COMMENT_UNDELETE)): ?>
<form class="undelete-comment-form" method="post" action="<?= htmlspecialchars(get_pkgbase_uri($pkgbase_name), ENT_QUOTES); ?>">
@@ -59,6 +105,7 @@ if (!isset($count)) {
<input type="hidden" name="action" value="do_UndeleteComment" />
<input type="hidden" name="comment_id" value="<?= $row['ID'] ?>" />
<input type="hidden" name="token" value="<?= htmlspecialchars($_COOKIE['AURSID']) ?>" />
+ <input type="hidden" name="return_to" value="<?= htmlspecialchars($_SERVER["REQUEST_URI"], ENT_QUOTES) ?>" />
<input type="image" class="undelete-comment" src="/images/action-undo.min.svg" width="11" height="11" alt="<?= __('Undelete comment') ?>" title="<?= __('Undelete comment') ?>" name="submit" value="1" />
</fieldset>
</form>
@@ -70,6 +117,7 @@ if (!isset($count)) {
<input type="hidden" name="action" value="do_DeleteComment" />
<input type="hidden" name="comment_id" value="<?= $row['ID'] ?>" />
<input type="hidden" name="token" value="<?= htmlspecialchars($_COOKIE['AURSID']) ?>" />
+ <input type="hidden" name="return_to" value="<?= htmlspecialchars($_SERVER["REQUEST_URI"], ENT_QUOTES) ?>" />
<input type="image" class="delete-comment" src="/images/x.min.svg" width="11" height="11" alt="<?= __('Delete comment') ?>" title="<?= __('Delete comment') ?>" name="submit" value="1" />
</fieldset>
</form>
@@ -79,13 +127,14 @@ if (!isset($count)) {
<a href="<?= htmlspecialchars(get_pkgbase_uri($pkgbase_name) . 'edit-comment/?comment_id=' . $row['ID'], ENT_QUOTES) ?>" class="edit-comment" title="<?= __('Edit comment') ?>"><img src="/images/pencil.min.svg" alt="<?= __('Edit comment') ?>" width="11" height="11"></a>
<?php endif; ?>
- <?php if (!$is_deleted && !$is_pinned && can_pin_comment_array($row) && !(pkgbase_comments_count($base_id, false, true) >= 5)): ?>
+ <?php if (!$is_deleted && !$is_pinned && can_pin_comment_array($row) && !(pkgbase_comments_count($row["PackageBaseID"], false, true) >= 5)): ?>
<form class="pin-comment-form" method="post" action="<?= htmlspecialchars(get_pkgbase_uri($pkgbase_name), ENT_QUOTES); ?>">
<fieldset style="display:inline;">
<input type="hidden" name="action" value="do_PinComment" />
<input type="hidden" name="comment_id" value="<?= $row['ID'] ?>" />
- <input type="hidden" name="package_base" value="<?= $base_id ?>" />
+ <input type="hidden" name="package_base" value="<?= $row["PackageBaseID"] ?>" />
<input type="hidden" name="token" value="<?= htmlspecialchars($_COOKIE['AURSID']) ?>" />
+ <input type="hidden" name="return_to" value="<?= htmlspecialchars($_SERVER["REQUEST_URI"], ENT_QUOTES) ?>" />
<input type="image" class="pin-comment" src="/images/pin.min.svg" width="11" height="11" alt="<?= __('Pin comment') ?>" title="<?= __('Pin comment') ?>" name="submit" value="1" />
</fieldset>
</form>
@@ -97,6 +146,7 @@ if (!isset($count)) {
<input type="hidden" name="action" value="do_UnpinComment" />
<input type="hidden" name="comment_id" value="<?= $row['ID'] ?>" />
<input type="hidden" name="token" value="<?= htmlspecialchars($_COOKIE['AURSID']) ?>" />
+ <input type="hidden" name="return_to" value="<?= htmlspecialchars($_SERVER["REQUEST_URI"], ENT_QUOTES) ?>" />
<input type="image" class="pin-comment" src="/images/unpin.min.svg" width="11" height="11" alt="<?= __('Unpin comment') ?>" title="<?= __('Unpin comment') ?>" name="submit" value="1" />
</fieldset>
</form>
@@ -114,13 +164,8 @@ if (!isset($count)) {
</div>
</div>
<?php endforeach; ?>
-
-<?php if ($count > 10 && !isset($_GET['comments']) && !isset($pinned)): ?>
- <h3>
- <a href="<?= htmlentities(get_pkgbase_uri($pkgbase_name), ENT_QUOTES) . '?' . mkurl('comments=all') ?>" title="<?= __('View all comments') ?> (<?= $count ?>)"><?= __('All comments', $count) ?></a>
- </h3>
-<?php endif; ?>
</div>
+
<script>
$(document).ready(function() {
$('.edit-comment').click(function () {
@@ -133,7 +178,7 @@ $(document).ready(function() {
$.getJSON('<?= get_uri('/rpc') ?>', {
type: 'get-comment-form',
arg: comment_id,
- base_id: <?= intval($base_id) ?>,
+ base_id: <?= intval($row["PackageBaseID"]) ?>,
pkgbase_name: <?= json_encode($pkgbase_name) ?>
}, function (data) {
remove_busy_indicator(_this);