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

Signed-off-by: Marcel Korpel <[email protected]>
---
 web/html/css/aurweb.css      | 23 +++++++++++++++++++++++
 web/template/pkg_details.php | 19 +++++++++++++++++--
 2 files changed, 40 insertions(+), 2 deletions(-)

diff --git a/web/html/css/aurweb.css b/web/html/css/aurweb.css
index a3f43bd..5691042 100644
--- a/web/html/css/aurweb.css
+++ b/web/html/css/aurweb.css
@@ -53,6 +53,29 @@
        text-align:right;
 }
 
+td#keywords {
+       white-space: normal;
+}
+
+.keyword:link, .keyword:visited {
+       float: left;
+       margin: 1px 2px 1px 0;
+       padding: 2px 6px;
+       background: #1794D1;
+       color: #FFF;
+       border-radius: 2px;
+}
+
+.keyword:hover {
+       color: #FFF;
+       cursor: pointer;
+}
+
+.keyword:focus {
+       padding: 1px 5px;
+       border: 1px dotted #000;
+}
+
 .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&amp;SeB=nd&amp;K=' . 
urlencode($kw);
+                       echo 
'&amp;outdated=&amp;SB=p&amp;SO=a&amp;PP=50&amp;do_Search=Go';
+                       echo '">' . htmlspecialchars($kw) . "</a>\n";
+               }
+       endif;
+?>
                        </td>
                </tr>
 <?php endif; ?>
-- 
2.4.3

Reply via email to