As of today, there is no easy way to obtain a link to a specific comment on a package page. Many implementations of forums and comment systems today seem to follow a convention where a comment's timestamp is an unobtrusive link to the comment itself. Some examples are: - phpBB (e.g. bbs.archlinux.org) - GitHub - Disqus - Discourse This patch adopts this convention as well, by making the comment timestamp an unobtrusive link to the comment itself. --- web/html/css/aurweb.css | 2 +- web/template/pkg_comments.php | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/web/html/css/aurweb.css b/web/html/css/aurweb.css index 593c9ae..d587dc6 100644 --- a/web/html/css/aurweb.css +++ b/web/html/css/aurweb.css @@ -122,7 +122,7 @@ top: 4px; } -.flagged a { +.flagged a, a.date { color: inherit; } diff --git a/web/template/pkg_comments.php b/web/template/pkg_comments.php index 3001a34..3bcf1a3 100644 --- a/web/template/pkg_comments.php +++ b/web/template/pkg_comments.php @@ -53,17 +53,19 @@ if ($comment_section == "package") { $pkgbase_name = $row["PackageBaseName"]; } + $anchor = (isset($pinned) ? "pinned-" : "comment-") . $row['ID']; $date_fmtd = date('Y-m-d H:i', $row['CommentTS']); + $date_link = '<a href="#' . $anchor . '" class="date">' . $date_fmtd . '</a>'; if ($comment_section == "package") { if ($row['UserName']) { $user_fmtd = html_format_username($row['UserName']); - $heading = __('%s commented on %s', $user_fmtd, $date_fmtd); + $heading = __('%s commented on %s', $user_fmtd, $date_link); } else { - $heading = __('Anonymous comment on %s', $date_fmtd); + $heading = __('Anonymous comment on %s', $date_link); } } 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); + $heading = __('Commented on package %s on %s', $pkg_uri, $date_link); } $is_deleted = $row['DelTS']; @@ -97,7 +99,7 @@ if ($comment_section == "package") { $comment_classes .= " comment-deleted"; } ?> - <h4 id="<?= isset($pinned) ? "pinned-" : "comment-" ?><?= $row['ID'] ?>" class="<?= $comment_classes ?>"> + <h4 id="<?= $anchor ?>" 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); ?>"> @@ -152,7 +154,7 @@ if ($comment_section == "package") { </form> <?php endif; ?> </h4> - <div id="<?= isset($pinned) ? "pinned-" : "comment-" ?><?= $row['ID'] ?>-content" class="article-content<?php if ($is_deleted): ?> comment-deleted<?php endif; ?>"> + <div id="<?= $anchor ?>-content" class="article-content<?php if ($is_deleted): ?> comment-deleted<?php endif; ?>"> <div> <?php if (!empty($row['RenderedComment'])): ?> <?= $row['RenderedComment'] ?> -- 2.19.0