Return all packages when an empty search term is used with keyword search. Reported-by: G. Schlisio <g.schlisio@dukun.de> Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org> --- 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 . ") "; + } } } -- 2.4.2