summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2011-12-27 12:52:33 +0400
committerAndrew Dolgov <[email protected]>2011-12-27 12:57:38 +0400
commitba975b2ec7d20d1e841b1f9fdc1a571317aca3eb (patch)
tree4c80af67216087197bc077b4564ada5b327626c4 /include
parentb69a09ea07041c23e7a7add2fed6c03cb989174b (diff)
implement filtering by category (closes #386)
Diffstat (limited to 'include')
-rw-r--r--include/functions.php14
-rw-r--r--include/sanity_check.php2
2 files changed, 12 insertions, 4 deletions
diff --git a/include/functions.php b/include/functions.php
index ed28fd257..5cbe80c81 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -3488,15 +3488,23 @@
inverse,
action_param,
filter_param
- FROM ttrss_filters,ttrss_filter_types,ttrss_filter_actions WHERE
+ FROM ttrss_filters
+ LEFT JOIN ttrss_feeds ON (ttrss_feeds.id = '$feed'),
+ ttrss_filter_types,ttrss_filter_actions
+ WHERE
enabled = true AND
$ftype_query_part
- owner_uid = $owner_uid AND
+ ttrss_filters.owner_uid = $owner_uid AND
ttrss_filter_types.id = filter_type AND
ttrss_filter_actions.id = action_id AND
- (feed_id IS NULL OR feed_id = '$feed') ORDER BY reg_exp");
+ ((cat_filter = true AND ttrss_feeds.cat_id = ttrss_filters.cat_id) OR
+ (cat_filter = true AND ttrss_feeds.cat_id IS NULL AND
+ ttrss_filters.cat_id IS NULL) OR
+ (cat_filter = false AND (feed_id IS NULL OR feed_id = '$feed')))
+ ORDER BY reg_exp");
while ($line = db_fetch_assoc($result)) {
+
if (!$filters[$line["name"]]) $filters[$line["name"]] = array();
$filter["reg_exp"] = $line["reg_exp"];
$filter["action"] = $line["action"];
diff --git a/include/sanity_check.php b/include/sanity_check.php
index 8115b7be5..c12c09334 100644
--- a/include/sanity_check.php
+++ b/include/sanity_check.php
@@ -6,7 +6,7 @@
} else {
define('EXPECTED_CONFIG_VERSION', 25);
- define('SCHEMA_VERSION', 86);
+ define('SCHEMA_VERSION', 87);
require_once "config.php";
require_once "sanity_config.php";