summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Fleischer <archlinux@cryptocrack.de>2010-05-30 00:20:42 +0200
committerLoui Chang <louipc.ist@gmail.com>2010-06-05 00:22:22 +0200
commitb18fb08ddc7201760112f4492cdcd81961902fa1 (patch)
tree7fab9d26426b54a59652e37c8f8ee20699d42b7f
parent290c436046327d9f04b7d12b5fda19f4dc14f574 (diff)
downloadaur-b18fb08ddc7201760112f4492cdcd81961902fa1.tar.gz
aur-b18fb08ddc7201760112f4492cdcd81961902fa1.tar.xz
Add sorting by "Voted" and "Notify" fields
Signed-off-by: Loui Chang <louipc.ist@gmail.com>
-rw-r--r--web/lib/pkgfuncs.inc26
-rw-r--r--web/template/pkg_search_form.php2
-rw-r--r--web/template/pkg_search_results.php8
3 files changed, 27 insertions, 9 deletions
diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc
index 49bedc36..43a7a6fb 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 88cc698e..0947ba85 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 b7015ce6..364a3521 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'>