From 8aa4c51dfb0baab7204f13da23618569dc1c7162 Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Mon, 8 Jun 2015 21:33:11 +0200 Subject: Fix searching for an empty string Return all packages when an empty search term is used with keyword search. Reported-by: G. Schlisio Signed-off-by: Lukas Fleischer --- web/lib/pkgfuncs.inc.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/web/lib/pkgfuncs.inc.php b/web/lib/pkgfuncs.inc.php index ee63e42..1178550 100644 --- a/web/lib/pkgfuncs.inc.php +++ b/web/lib/pkgfuncs.inc.php @@ -602,7 +602,7 @@ function pkg_search_page($SID="") { else { /* Search by name and description (default). */ $count = 0; - $q_where .= "AND ("; + $q_keywords = ""; $op = ""; foreach (str_getcsv($_GET['K'], ' ') as $term) { @@ -623,8 +623,8 @@ function pkg_search_page($SID="") { } $term = "%" . addcslashes($term, '%_') . "%"; - $q_where .= $op . " (Packages.Name LIKE " . $dbh->quote($term) . " OR "; - $q_where .= "Description LIKE " . $dbh->quote($term) . ") "; + $q_keywords .= $op . " (Packages.Name LIKE " . $dbh->quote($term) . " OR "; + $q_keywords .= "Description LIKE " . $dbh->quote($term) . ") "; $count++; if ($count >= 20) { @@ -633,7 +633,9 @@ function pkg_search_page($SID="") { $op = "AND "; } - $q_where .= ") "; + if (!empty($q_keywords)) { + $q_where .= "AND (" . $q_keywords . ") "; + } } } -- cgit v1.2.3-70-g09d2