summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--web/lang/en/pkgfuncs_po.inc6
-rw-r--r--web/lang/pl/pkgfuncs_po.inc3
-rw-r--r--web/lib/pkgfuncs.inc33
3 files changed, 34 insertions, 8 deletions
diff --git a/web/lang/en/pkgfuncs_po.inc b/web/lang/en/pkgfuncs_po.inc
index ef75d51d..f2faa7e5 100644
--- a/web/lang/en/pkgfuncs_po.inc
+++ b/web/lang/en/pkgfuncs_po.inc
@@ -79,6 +79,12 @@ $_t["en"]["Manage"] = "Manage";
$_t["en"]["Sort by"] = "Sort by";
+$_t["en"]["Sort order"] = "Sort order";
+
+$_t["en"]["Ascending"] = "Ascending";
+
+$_t["en"]["Descending"] = "Descending";
+
$_t["en"]["Actions"] = "Actions";
$_t["en"]["Sources"] = "Sources";
diff --git a/web/lang/pl/pkgfuncs_po.inc b/web/lang/pl/pkgfuncs_po.inc
index 384a9836..e28bb964 100644
--- a/web/lang/pl/pkgfuncs_po.inc
+++ b/web/lang/pl/pkgfuncs_po.inc
@@ -21,6 +21,9 @@ $_t["pl"]["Name"] = "Nazwa";
$_t["pl"]["Per page"] = "Na stronie";
$_t["pl"]["Popularity"] = "Popularność";
$_t["pl"]["Sort by"] = "Sortuj według";
+$_t["pl"]["Sort order"] = "Porządek";
+$_t["pl"]["Ascending"] = "Rosnąco";
+$_t["pl"]["Descending"] = "Malejąco";
$_t["pl"]["Search Criteria"] = "Kryteria wyszukiwania";
$_t["pl"]["Location"] = "Lokacja";
$_t["pl"]["Keywords"] = "Słowa kluczowe";
diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc
index 7117c8e6..e277ef5b 100644
--- a/web/lib/pkgfuncs.inc
+++ b/web/lib/pkgfuncs.inc
@@ -3,7 +3,7 @@ include_once("pkgfuncs_po.inc");
# define variables used during pkgsearch
#
-$pkgsearch_vars = array("O", "L", "C", "K", "SB", "PP", "do_MyPackages", "do_Orphans");
+$pkgsearch_vars = array("O", "L", "C", "K", "SB", "SO", "PP", "do_MyPackages", "do_Orphans");
# print out the 'return to package details' link
@@ -658,7 +658,7 @@ function pkg_search_page($SID="") {
print "<td align='right'>\n";
print " <span class='f5'><span class='blue'>".__("Keywords");
print "</span></span><br />\n";
- print " <input type='text' name='K' size='35'";
+ print " <input type='text' name='K' size='20'";
$K = str_replace("\"", "", $_REQUEST["K"]); # TODO better testing for
# SQL trickery...
print " value=\"".stripslashes($K)."\" maxlength='35'>\n";
@@ -697,6 +697,22 @@ function pkg_search_page($SID="") {
print "</td>\n";
print "<td align='right'>\n";
+ print " <span class='f5'><span class='blue'>".__("Sort order");
+ print "</span></span><br />\n";
+ print " <select name='SO'>\n";
+
+ print " <option value=a";
+ $_REQUEST["SO"] == "a" ? print " selected> " : print "> ";
+ print __("Ascending")."</option>\n";
+
+ print " <option value=d";
+ $_REQUEST["SO"] == "d" ? print " selected> " : print "> ";
+ print __("Descending")."</option>\n";
+
+ print " </select>\n";
+ print "</td>\n";
+
+ print "<td align='right'>\n";
print " <span class='f5'><span class='blue'>".__("Per page");
print "</span></span><br />\n";
print " <select name='PP'>\n";
@@ -800,24 +816,25 @@ function pkg_search_page($SID="") {
$q.= "MaintainerUID = 0) ";
}
}
+ $order = $_REQUEST["SO"] == 'd' ? 'DESC' : 'ASC';
switch ($_REQUEST["SB"]) {
case 'c':
- $q.= "ORDER BY CategoryID DESC, Name ASC, LocationID ASC ";
+ $q.= "ORDER BY CategoryID ".$order.", Name ASC, LocationID ASC ";
break;
case 'l':
- $q.= "ORDER BY LocationID ASC, Name ASC, CategoryID DESC ";
+ $q.= "ORDER BY LocationID ".$order.", Name ASC, CategoryID DESC ";
break;
case 'v':
- $q.= "ORDER BY NumVotes DESC, Name ASC, CategoryID DESC ";
+ $q.= "ORDER BY NumVotes ".$order.", Name ASC, CategoryID DESC ";
break;
case 'm':
- $q.= "ORDER BY Username ASC, Name ASC, LocationID ASC ";
+ $q.= "ORDER BY Username ".$order.", Name ASC, LocationID ASC ";
break;
case 'a':
- $q.= "ORDER BY GREATEST(SubmittedTS,ModifiedTS) ASC, Name ASC, LocationID ASC ";
+ $q.= "ORDER BY GREATEST(SubmittedTS,ModifiedTS) ".$order.", Name ASC, LocationID ASC ";
break;
default:
- $q.= "ORDER BY Name ASC, LocationID ASC, CategoryID DESC ";
+ $q.= "ORDER BY Name ".$order.", LocationID ASC, CategoryID DESC ";
break;
}
$qnext = $q."LIMIT ".($O+$PP).", ".$PP; //next page's worth