summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2006-02-25 20:41:27 +0100
committerAndrew Dolgov <[email protected]>2006-02-25 20:41:27 +0100
commitb00058235a66d3e3df3fa7a12b0d499563fae05b (patch)
tree44d55c55400fcb4f32ff6e1bfe382fded45515b0
parent77d519852a49349530b45c99155175a59677f6ff (diff)
search by category (closes #29)
-rw-r--r--backend.php32
-rw-r--r--tt-rss.php6
2 files changed, 33 insertions, 5 deletions
diff --git a/backend.php b/backend.php
index 3dda8d0bb..91506880f 100644
--- a/backend.php
+++ b/backend.php
@@ -1244,11 +1244,33 @@
// override query strategy and enable feed display when searching globally
if ($search && $search_mode == "All feeds") {
$query_strategy_part = "ttrss_entries.id > 0";
- $vfeed_query_part = "ttrss_feeds.title AS feed_title,";
+ $vfeed_query_part = "ttrss_feeds.title AS feed_title,";
} else if (sprintf("%d", $feed) == 0) {
$query_strategy_part = "ttrss_entries.id > 0";
$vfeed_query_part = "(SELECT title FROM ttrss_feeds WHERE
id = feed_id) as feed_title,";
+ } else if ($feed >= 0 && $search && $search_mode == "This category") {
+
+ $vfeed_query_part = "ttrss_feeds.title AS feed_title,";
+
+ $tmp_result = db_query($link, "SELECT id
+ FROM ttrss_feeds WHERE cat_id =
+ (SELECT cat_id FROM ttrss_feeds WHERE id = '$feed') AND id != '$feed'");
+
+ $cat_siblings = array();
+
+ if (db_num_rows($tmp_result) > 0) {
+ while ($p = db_fetch_assoc($tmp_result)) {
+ array_push($cat_siblings, "feed_id = " . $p["id"]);
+ }
+
+ $query_strategy_part = sprintf("(feed_id = %d OR %s)",
+ $feed, implode(" OR ", $cat_siblings));
+
+ } else {
+ $query_strategy_part = "ttrss_entries.id > 0";
+ }
+
} else if ($feed >= 0) {
$tmp_result = db_query($link, "SELECT id
@@ -1264,7 +1286,7 @@
$query_strategy_part = sprintf("(feed_id = %d OR %s)",
$feed, implode(" OR ", $parent_ids));
-
+
$vfeed_query_part = "ttrss_feeds.title AS feed_title,";
} else {
$query_strategy_part = "feed_id = '$feed'";
@@ -3199,7 +3221,11 @@
} else {
print "<option disabled>This feed</option>";
}
-
+
+ if (get_pref($link, 'ENABLE_FEED_CATS')) {
+ print "<option>This category</option>";
+ }
+
print "</select>
<input type=\"submit\"
class=\"button\" onclick=\"javascript:search()\" value=\"Search\">
diff --git a/tt-rss.php b/tt-rss.php
index 03bbc0f61..b9c74efc6 100644
--- a/tt-rss.php
+++ b/tt-rss.php
@@ -153,10 +153,12 @@ window.onload = init;
<? if (get_pref($link, 'ENABLE_SEARCH_TOOLBAR')) { ?>
<input id="searchbox"
- onblur="javascript:enableHotkeys()" onfocus="javascript:disableHotkeys()"
- onchange="javascript:search()">
+ onblur="javascript:enableHotkeys();" onfocus="javascript:disableHotkeys();">
<select id="searchmodebox">
<option>This feed</option>
+ <? if (get_pref($link, 'ENABLE_FEED_CATS')) { ?>
+ <option>This category</option>
+ <? } ?>
<option>All feeds</option>
</select>