From: Andrew Dolgov Date: Wed, 20 Apr 2011 09:32:40 +0000 (+0400) Subject: implement search in pref-feeds (closes #332) X-Git-Tag: 1.5.3~16 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=2b020009b1bd1e2c1e527c2adf94fe0fc780849b;p=tt-rss.git implement search in pref-feeds (closes #332) --- diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php index c95e039c..f496c782 100644 --- a/modules/pref-feeds.php +++ b/modules/pref-feeds.php @@ -36,6 +36,10 @@ if ($subop == "getfeedtree") { + $search = $_SESSION["prefs_feed_search"]; + + if ($search) $search_qpart = " AND LOWER(title) LIKE LOWER('%$search%')"; + $root = array(); $root['id'] = 'root'; $root['name'] = __('Feeds'); @@ -59,7 +63,7 @@ ".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated FROM ttrss_feeds WHERE cat_id = '".$line['id']."' AND owner_uid = ".$_SESSION["uid"]. - " ORDER BY order_id, title"); + "$search_qpart ORDER BY order_id, title"); while ($feed_line = db_fetch_assoc($feed_result)) { $feed = array(); @@ -75,7 +79,8 @@ array_push($cat['items'], $feed); } - array_push($root['items'], $cat); + if (count($cat['items']) > 0) + array_push($root['items'], $cat); } /* Uncategorized is a special case */ @@ -91,7 +96,7 @@ ".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated FROM ttrss_feeds WHERE cat_id IS NULL AND owner_uid = ".$_SESSION["uid"]. - " ORDER BY order_id, title"); + "$search_qpart ORDER BY order_id, title"); while ($feed_line = db_fetch_assoc($feed_result)) { $feed = array(); @@ -107,13 +112,15 @@ array_push($cat['items'], $feed); } - array_push($root['items'], $cat); + if (count($cat['items']) > 0) + array_push($root['items'], $cat); + } else { $feed_result = db_query($link, "SELECT id, title, last_error, ".SUBSTRING_FOR_DATE."(last_updated,1,19) AS last_updated FROM ttrss_feeds WHERE owner_uid = ".$_SESSION["uid"]. - " ORDER BY order_id, title"); + "$search_qpart ORDER BY order_id, title"); while ($feed_line = db_fetch_assoc($feed_result)) { $feed = array(); @@ -1304,6 +1311,13 @@ print "
"; + print "
+ + +
"; + print "
". "" . __('Select').""; print "
"; diff --git a/prefs.js b/prefs.js index d22686ce..5d8cca38 100644 --- a/prefs.js +++ b/prefs.js @@ -54,8 +54,13 @@ function notify_callback2(transport) { } function updateFeedList(sort_key) { + + var user_search = $("feed_search"); + var search = ""; + if (user_search) { search = user_search.value; } + new Ajax.Request("backend.php", { - parameters: "?op=pref-feeds", + parameters: "?op=pref-feeds&search=" + param_escape(search), onComplete: function(transport) { feedlist_callback2(transport); } });