add search by submitter functionality

This commit is contained in:
simo 2005-11-27 04:05:27 +00:00
parent fbd7b5a9d4
commit 70af7c7d5c
3 changed files with 35 additions and 5 deletions

View file

@ -137,4 +137,6 @@ $_t["en"]["Last Updated"] = "Last Updated";
$_t["en"]["Search by"] = "Search by";
$_t["en"]["Submitter"] = "Submitter";
?>

View file

@ -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
?>

View file

@ -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)."%') ";