[aur-dev] [PATCH] Fix searching for an empty string

Lukas Fleischer lfleischer at archlinux.org
Mon Jun 8 19:42:47 UTC 2015


Return all packages when an empty search term is used with keyword
search.

Reported-by: G. Schlisio <g.schlisio at dukun.de>
Signed-off-by: Lukas Fleischer <lfleischer at 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


More information about the aur-dev mailing list