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@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..8cae135 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=nd&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