From 2cfcddf24e4f1f20b70b300111bd92d77c0e2471 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 2 Mar 2011 08:03:22 -0600 Subject: Split package search query into parts No functional change here; we should be rebuilding the same query at the end of the process. Signed-off-by: Dan McGee Signed-off-by: Lukas Fleischer --- web/lib/pkgfuncs.inc | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'web') diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc index 9979d240..e1505e79 100644 --- a/web/lib/pkgfuncs.inc +++ b/web/lib/pkgfuncs.inc @@ -434,32 +434,32 @@ function pkg_search_page($SID="") { // build the package search query // - $q = "SELECT SQL_CALC_FOUND_ROWS "; + $q_select = "SELECT SQL_CALC_FOUND_ROWS "; if ($SID) { - $q .= "CommentNotify.UserID AS Notify, + $q_select .= "CommentNotify.UserID AS Notify, PackageVotes.UsersID AS Voted, "; } - $q .= "Users.Username AS Maintainer, + $q_select .= "Users.Username AS Maintainer, PackageCategories.Category, Packages.Name, Packages.Version, Packages.Description, Packages.NumVotes, - Packages.ID, Packages.OutOfDateTS + Packages.ID, Packages.OutOfDateTS "; - FROM Packages + $q_from = "FROM Packages LEFT JOIN Users ON (Packages.MaintainerUID = Users.ID) "; if ($SID) { - $q .= "LEFT JOIN PackageVotes + $q_from .= "LEFT JOIN PackageVotes ON (Packages.ID = PackageVotes.PackageID AND PackageVotes.UsersID = $myuid) LEFT JOIN CommentNotify ON (Packages.ID = CommentNotify.PkgID AND CommentNotify.UserID = $myuid) "; } - $q .= "LEFT JOIN PackageCategories - ON (Packages.CategoryID = PackageCategories.ID) - WHERE Packages.DummyPkg = 0 "; + $q_from .= "LEFT JOIN PackageCategories + ON (Packages.CategoryID = PackageCategories.ID) "; + $q_where = "WHERE Packages.DummyPkg = 0 "; // TODO: possibly do string matching on category // to make request variable values more sensible if (isset($_GET["C"]) && intval($_GET["C"])) { - $q.= "AND Packages.CategoryID = ".intval($_GET["C"])." "; + $q_where .= "AND Packages.CategoryID = ".intval($_GET["C"])." "; } if (isset($_GET['K'])) { @@ -467,33 +467,33 @@ function pkg_search_page($SID="") { # Search by maintainer if (isset($_GET["SeB"]) && $_GET["SeB"] == "m") { - $q.= "AND Users.Username = '".$_GET['K']."' "; + $q_where .= "AND Users.Username = '".$_GET['K']."' "; } # Search by submitter elseif (isset($_GET["SeB"]) && $_GET["SeB"] == "s") { - $q.= "AND SubmitterUID = ".uid_from_username($_GET['K'])." "; + $q_where .= "AND SubmitterUID = ".uid_from_username($_GET['K'])." "; # Search by name } elseif (isset($_GET["SeB"]) && $_GET["SeB"] == "n") { - $q.= "AND (Name LIKE '%".$_GET['K']."%') "; + $q_where .= "AND (Name LIKE '%".$_GET['K']."%') "; } # Search by name and description (Default) else { - $q.= "AND (Name LIKE '%".$_GET['K']."%' OR "; - $q.= "Description LIKE '%".$_GET['K']."%') "; + $q_where .= "AND (Name LIKE '%".$_GET['K']."%' OR "; + $q_where .= "Description LIKE '%".$_GET['K']."%') "; } } if (isset($_GET["do_Orphans"]) && $_GET["do_Orphans"] == 'Orphans') { - $q.= "AND MaintainerUID IS NULL "; + $q_where .= "AND MaintainerUID IS NULL "; } if (isset($_GET['outdated'])) { if ($_GET['outdated'] == 'on') { - $q .= "AND OutOfDateTS IS NOT NULL "; + $q_where .= "AND OutOfDateTS IS NOT NULL "; } elseif ($_GET['outdated'] == 'off') { - $q .= "AND OutOfDateTS IS NULL "; + $q_where .= "AND OutOfDateTS IS NULL "; } } @@ -528,9 +528,9 @@ function pkg_search_page($SID="") { break; } - $q.= $q_sort; + $q_limit = "LIMIT ".$_GET["O"].", ".$_GET["PP"]; - $q.= "LIMIT ".$_GET["O"].", ".$_GET["PP"]; + $q = $q_select . $q_from . $q_where . $q_sort . $q_limit; $result = db_query($q, $dbh); $total = mysql_result(db_query('SELECT FOUND_ROWS() AS Total', $dbh), 0); -- cgit v1.2.3-24-g4f1b