summaryrefslogtreecommitdiff
path: root/backend.php
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 /backend.php
parent77d519852a49349530b45c99155175a59677f6ff (diff)
search by category (closes #29)
Diffstat (limited to 'backend.php')
-rw-r--r--backend.php32
1 files changed, 29 insertions, 3 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\">