diff options
author | Lukas Fleischer <archlinux@cryptocrack.de> | 2010-05-30 00:20:42 +0200 |
---|---|---|
committer | Loui Chang <louipc.ist@gmail.com> | 2010-06-04 18:22:22 -0400 |
commit | b18fb08ddc7201760112f4492cdcd81961902fa1 (patch) | |
tree | 7fab9d26426b54a59652e37c8f8ee20699d42b7f | |
parent | 290c436046327d9f04b7d12b5fda19f4dc14f574 (diff) |
Add sorting by "Voted" and "Notify" fields
Signed-off-by: Loui Chang <louipc.ist@gmail.com>
-rw-r--r-- | web/lib/pkgfuncs.inc | 26 | ||||
-rw-r--r-- | web/template/pkg_search_form.php | 2 | ||||
-rw-r--r-- | web/template/pkg_search_results.php | 8 |
3 files changed, 27 insertions, 9 deletions
diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc index 49bedc3..43a7a6f 100644 --- a/web/lib/pkgfuncs.inc +++ b/web/lib/pkgfuncs.inc @@ -515,32 +515,46 @@ function pkg_search_page($SID="") { $order = $_GET["SO"] == 'd' ? 'DESC' : 'ASC'; + $q_sort = "ORDER BY Name ".$order.", LocationID ASC, CategoryID DESC "; switch ($_GET["SB"]) { case 'c': - $q.= "ORDER BY CategoryID ".$order.", Name ASC, LocationID ASC "; + $q_sort = "ORDER BY CategoryID ".$order.", Name ASC, LocationID ASC "; $_GET["SB"] = 'c'; break; case 'l': - $q.= "ORDER BY LocationID ".$order.", Name ASC, CategoryID DESC "; + $q_sort = "ORDER BY LocationID ".$order.", Name ASC, CategoryID DESC "; $_GET["SB"] = 'l'; break; case 'v': - $q.= "ORDER BY NumVotes ".$order.", Name ASC, CategoryID DESC "; + $q_sort = "ORDER BY NumVotes ".$order.", Name ASC, CategoryID DESC "; $_GET["SB"] = 'v'; break; + case 'w': + if ($SID) { + $q_sort = "ORDER BY Voted ".$order.", Name ASC, CategoryID DESC "; + } + $_GET["SB"] = 'w'; + break; + case 'o': + if ($SID) { + $q_sort = "ORDER BY Notify ".$order.", Name ASC, CategoryID DESC "; + } + $_GET["SB"] = 'o'; + break; case 'm': - $q.= "ORDER BY Maintainer ".$order.", Name ASC, LocationID ASC "; + $q_sort = "ORDER BY Maintainer ".$order.", Name ASC, LocationID ASC "; $_GET["SB"] = 'm'; break; case 'a': - $q.= "ORDER BY GREATEST(SubmittedTS,ModifiedTS) ".$order.", Name ASC, LocationID ASC "; + $q_sort = "ORDER BY GREATEST(SubmittedTS,ModifiedTS) ".$order.", Name ASC, LocationID ASC "; $_GET["SB"] = 'a'; break; default: - $q.= "ORDER BY Name ".$order.", LocationID ASC, CategoryID DESC "; break; } + $q.= $q_sort; + $q.= "LIMIT ".$_GET["O"].", ".$_GET["PP"]; $result = db_query($q, $dbh); diff --git a/web/template/pkg_search_form.php b/web/template/pkg_search_form.php index 88cc698..0947ba8 100644 --- a/web/template/pkg_search_form.php +++ b/web/template/pkg_search_form.php @@ -56,7 +56,7 @@ <label><?php print __("Sort by"); ?></label> <select name='SB'> <?php - $sortby = array('n' => 'Name', 'c' => 'Category', 'l' => 'Location', 'v' => 'Votes', 'm' => 'Maintainer', 'a' => 'Age'); + $sortby = array('n' => 'Name', 'c' => 'Category', 'l' => 'Location', 'v' => 'Votes', 'w' => 'Voted', 'o' => 'Notify', 'm' => 'Maintainer', 'a' => 'Age'); foreach ($sortby as $k => $v): if ($_REQUEST['SB'] == $k): ?> diff --git a/web/template/pkg_search_results.php b/web/template/pkg_search_results.php index b7015ce..364a352 100644 --- a/web/template/pkg_search_results.php +++ b/web/template/pkg_search_results.php @@ -29,8 +29,12 @@ </span></th> <?php if ($SID): ?> - <th style='border-bottom: #666 1px solid; vertical-align: bottom'><span class='f2'><?php print __("Voted") ?></span></th> - <th style='border-bottom: #666 1px solid; vertical-align: bottom'><span class='f2'><?php print __("Notify") ?></span></th> + <th style='border-bottom: #666 1px solid; vertical-align: bottom'><span class='f2'> + <a href='?<?php print mkurl('SB=w&SO=' . $SO_next) ?>'><?php print __("Voted") ?></a> + </span></th> + <th style='border-bottom: #666 1px solid; vertical-align: bottom'><span class='f2'> + <a href='?<?php print mkurl('SB=o&SO=' . $SO_next) ?>'><?php print __("Notify") ?></a> + </span></th> <?php endif; ?> <th style='border-bottom: #666 1px solid; vertical-align: bottom'><span class='f2'><?php print __("Description") ?></span></th> <th style='border-bottom: #666 1px solid; vertical-align: bottom'><span class='f2'> |