[aur-dev] [PATCH v3] pkg_details.php: Show keywords

Marcel Korpel marcel.korpel at gmail.com
Wed Jun 17 18:38:29 UTC 2015


Keywords are hyperlinked so a user can search for other packages with
the same name and/or keyword.

Signed-off-by: Marcel Korpel <marcel.korpel at gmail.com>
---
 web/html/css/aurweb.css      | 18 ++++++++++++++++++
 web/template/pkg_details.php | 19 +++++++++++++++++--
 2 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/web/html/css/aurweb.css b/web/html/css/aurweb.css
index a3f43bd..10243da 100644
--- a/web/html/css/aurweb.css
+++ b/web/html/css/aurweb.css
@@ -53,6 +53,24 @@
 	text-align:right;
 }
 
+td#keywords {
+	white-space: normal;
+}
+
+.keyword:link, .keyword:visited {
+	float: left;
+	margin: 1px 2px 1px 0;
+	padding: 2px .5em;
+	background: #1794D1;
+	color: #FFF;
+	border-radius: 2px;
+}
+
+.keyword:hover {
+	color: #FFF;
+	cursor: pointer;
+}
+
 .text-button {
 	background: transparent;
 	border: none !important;
diff --git a/web/template/pkg_details.php b/web/template/pkg_details.php
index ae49e24..88c3f03 100644
--- a/web/template/pkg_details.php
+++ b/web/template/pkg_details.php
@@ -190,11 +190,14 @@ $sources = pkg_sources($row["ID"]);
 			<td><a href="<?= htmlspecialchars($row['URL'], ENT_QUOTES) ?>" title="<?= __('Visit the website for') . ' ' . htmlspecialchars( $row['Name'])?>"><?= htmlspecialchars($row['URL'], ENT_QUOTES) ?></a></td>
 		</tr>
 <?php
-if (has_credential(CRED_PKGBASE_SET_KEYWORDS, array($row["MaintainerUID"]))):
+if (has_credential(CRED_PKGBASE_SET_KEYWORDS, array($row["MaintainerUID"])) || count($keywords) > 0):
 ?>
 		<tr>
 			<th><?= __('Keywords') . ': ' ?></th>
-			<td>
+			<td id="keywords">
+<?php
+	if (has_credential(CRED_PKGBASE_SET_KEYWORDS, array($row["MaintainerUID"]))):
+?>
 				<form method="post" action="<?= htmlspecialchars(get_pkgbase_uri($row['BaseName']), ENT_QUOTES); ?>">
 					<div>
 						<input type="hidden" name="action" value="do_SetKeywords" />
@@ -205,6 +208,18 @@ if (has_credential(CRED_PKGBASE_SET_KEYWORDS, array($row["MaintainerUID"]))):
 						<input type="submit" value="<?= __('Update') ?>"/>
 					</div>
 				</form>
+<?php
+	else:
+		foreach ($keywords as $kw) {
+			echo '				<a class="keyword" href="';
+			/* Several default search parameters are hard-coded,
+			   perhaps this should be changed/configured somewhere */
+			echo get_uri('/packages/') . '?O=0&SeB=d&K=' . urlencode($kw);
+			echo '&outdated=&SB=p&SO=a&PP=50&do_Search=Go';
+			echo '">' . htmlspecialchars($kw) . "</a>\n";
+		}
+	endif;
+?>
 			</td>
 		</tr>
 <?php endif; ?>
-- 
2.4.3


More information about the aur-dev mailing list