diff options
author | Andrew Dolgov <[email protected]> | 2011-12-27 12:52:33 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2011-12-27 12:57:38 +0400 |
commit | ba975b2ec7d20d1e841b1f9fdc1a571317aca3eb (patch) | |
tree | 4c80af67216087197bc077b4564ada5b327626c4 /include | |
parent | b69a09ea07041c23e7a7add2fed6c03cb989174b (diff) |
implement filtering by category (closes #386)
Diffstat (limited to 'include')
-rw-r--r-- | include/functions.php | 14 | ||||
-rw-r--r-- | include/sanity_check.php | 2 |
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"; |