summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsimo <simo>2005-11-27 05:05:27 +0100
committersimo <simo>2005-11-27 05:05:27 +0100
commit70af7c7d5c5945039f494ca5f9e435bc515db18e (patch)
tree009c36a334c9f4cca8819ce29c698eaff5098e8d
parentfbd7b5a9d4119cf53629f2b01a2a6ca39c29ea07 (diff)
downloadaur-70af7c7d5c5945039f494ca5f9e435bc515db18e.tar.gz
aur-70af7c7d5c5945039f494ca5f9e435bc515db18e.tar.xz
add search by submitter functionality
-rw-r--r--web/lang/en/pkgfuncs_po.inc2
-rw-r--r--web/lib/aur.inc19
-rw-r--r--web/lib/pkgfuncs.inc19
3 files changed, 35 insertions, 5 deletions
diff --git a/web/lang/en/pkgfuncs_po.inc b/web/lang/en/pkgfuncs_po.inc
index 61a3fa71..0526e233 100644
--- a/web/lang/en/pkgfuncs_po.inc
+++ b/web/lang/en/pkgfuncs_po.inc
@@ -137,4 +137,6 @@ $_t["en"]["Last Updated"] = "Last Updated";
$_t["en"]["Search by"] = "Search by";
+$_t["en"]["Submitter"] = "Submitter";
+
?> \ No newline at end of file
diff --git a/web/lib/aur.inc b/web/lib/aur.inc
index ed2ff646..81e5a458 100644
--- a/web/lib/aur.inc
+++ b/web/lib/aur.inc
@@ -542,5 +542,24 @@ function rm_rf($dirname="") {
return;
}
+# obtain the uid given a Users.Username
+#
+function uid_from_username($username="")
+{
+ if (!$username) {
+ return "";
+ }
+ $dbh = db_connect();
+ $q = "SELECT ID FROM Users WHERE Username = '".mysql_escape_string($username)
+ ."'";
+ $result = db_query($q, $dbh);
+ if (!$result) {
+ return "None";
+ }
+ $row = mysql_fetch_row($result);
+
+ return $row[0];
+}
+
# vim: ts=2 sw=2 noet ft=php
?>
diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc
index 19d205d4..d3399222 100644
--- a/web/lib/pkgfuncs.inc
+++ b/web/lib/pkgfuncs.inc
@@ -677,6 +677,9 @@ function pkg_search_page($SID="") {
print " <option value=m";
$_REQUEST["SeB"] == "m" ? print " selected> " : print "> ";
print __("Maintainer")."</option>\n";
+ print " <option value=s";
+ $_REQUEST["SeB"] == "s" ? print " selected> " : print "> ";
+ print __("Submitter")."</option>\n";
print " </select>\n";
print "</td>\n";
@@ -800,14 +803,20 @@ function pkg_search_page($SID="") {
#search by maintainer
if ($_REQUEST["SeB"] == "m"){
if (!$has_where) {
- $q.= "WHERE Username = '".mysql_escape_string($K)."' ";
+ $q.= "WHERE Username = '".mysql_escape_string($K)."' ";
$has_where = 1;
- } else {
- $q.= "AND Username = '".mysql_escape_string($K)."' ";
- }
+ } else {
+ $q.= "AND Username = '".mysql_escape_string($K)."' ";
+ }
+ } elseif ($_REQUEST["SeB"] == "s") {
+ if (!$has_where) {
+ $q.= "WHERE SubmitterUID = ".uid_from_username($K)." ";
+ $has_where = 1;
+ } else {
+ $q.= "AND SubmitterUID = ".uid_from_username($K)." ";
}
# the default behaivior, query the name/description
- else {
+ } else {
if (!$has_where) {
$q.= "WHERE (Name LIKE '%".mysql_escape_string($K)."%' OR ";
$q.= "Description LIKE '%".mysql_escape_string($K)."%') ";