diff options
-rw-r--r-- | web/lang/en/pkgfuncs_po.inc | 6 | ||||
-rw-r--r-- | web/lang/pl/pkgfuncs_po.inc | 3 | ||||
-rw-r--r-- | web/lib/pkgfuncs.inc | 33 |
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 |