From 1638fc4e13e1d71eceb1deefe983c7f48d47b8a1 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 7 Oct 2009 15:12:21 +0400 Subject: prefs: rudimentary multiple keyword search --- modules/pref-feeds.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'modules/pref-feeds.php') diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php index ce12806ee..b0269243e 100644 --- a/modules/pref-feeds.php +++ b/modules/pref-feeds.php @@ -1184,9 +1184,21 @@ $_SESSION["pref_sort_feeds"] = $feeds_sort; if ($feed_search) { - $search_qpart = "(UPPER(F1.title) LIKE UPPER('%$feed_search%') OR - UPPER(C1.title) LIKE UPPER('%$feed_search%') OR - UPPER(F1.feed_url) LIKE UPPER('%$feed_search%')) AND"; + + $feed_search = split(" ", $feed_search); + $tokens = array(); + + foreach ($feed_search as $token) { + + $token = trim($token); + + array_push($tokens, "(UPPER(F1.title) LIKE UPPER('%$token%') OR + UPPER(C1.title) LIKE UPPER('%$token%') OR + UPPER(F1.feed_url) LIKE UPPER('%$token%'))"); + } + + $search_qpart = "(" . join($tokens, " AND ") . ") AND "; + } else { $search_qpart = ""; } -- cgit v1.2.3