From 6cb8c041bc2264d02f7c86545170f45cc92d6caf Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Thu, 26 Jan 2017 09:02:46 +0100 Subject: Implement co-maintainer search Add an option to filter package search results by co-maintainer. Partly fixes FS#45591. Signed-off-by: Lukas Fleischer --- web/lib/pkgfuncs.inc.php | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'web/lib') diff --git a/web/lib/pkgfuncs.inc.php b/web/lib/pkgfuncs.inc.php index 4b0fdbac..8ca88352 100644 --- a/web/lib/pkgfuncs.inc.php +++ b/web/lib/pkgfuncs.inc.php @@ -670,6 +670,7 @@ function pkg_display_details($id=0, $row, $SID="") { * B - package base name (exact match) * k - package keyword(s) * m - package maintainer's username + * c - package co-maintainer's username * s - package submitter's username * do_Orphans - boolean. whether to search packages * without a maintainer @@ -746,6 +747,13 @@ function pkg_search_page($SID="") { /* Search by maintainer. */ $q_where .= "AND Users.Username = " . $dbh->quote($_GET['K']) . " "; } + elseif (isset($_GET["SeB"]) && $_GET["SeB"] == "c") { + /* Search by co-maintainer. */ + $q_where .= "AND EXISTS (SELECT * FROM PackageComaintainers "; + $q_where .= "INNER JOIN Users ON Users.ID = PackageComaintainers.UsersID "; + $q_where .= "WHERE PackageComaintainers.PackageBaseID = PackageBases.ID "; + $q_where .= "AND Users.Username = " . $dbh->quote($_GET['K']) . ")"; + } elseif (isset($_GET["SeB"]) && $_GET["SeB"] == "s") { /* Search by submitter. */ $q_where .= "AND SubmitterUID = " . intval(uid_from_username($_GET['K'])) . " "; -- cgit v1.2.3-24-g4f1b