summaryrefslogtreecommitdiff
path: root/classes/rssutils.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2021-12-20 07:56:16 +0300
committerAndrew Dolgov <[email protected]>2021-12-20 07:56:16 +0300
commit40b2356be212cfee1d68784714672b7c00114e2d (patch)
tree17bd57beddaedc5fe00acbc353835e55b9ccd1aa /classes/rssutils.php
parent92747b1d2159e2097c11273456079e71f5b788b8 (diff)
filters:
* add filter action to ignore feed-provided tags * simplify handling of various filter-provided tags * bump schema to 146
Diffstat (limited to 'classes/rssutils.php')
-rwxr-xr-xclasses/rssutils.php28
1 files changed, 13 insertions, 15 deletions
diff --git a/classes/rssutils.php b/classes/rssutils.php
index b886a060c..7b50343f6 100755
--- a/classes/rssutils.php
+++ b/classes/rssutils.php
@@ -1164,32 +1164,30 @@ class RSSUtils {
}
// check for manual tags (we have to do it here since they're loaded from filters)
-
foreach ($article_filters as $f) {
if ($f["type"] == "tag") {
+ $entry_tags = array_merge($entry_tags,
+ FeedItem_Common::normalize_categories(explode(",", $f["param"])));
+ }
+ }
- $manual_tags = array_map('trim', explode(",", mb_strtolower($f["param"])));
-
- foreach ($manual_tags as $tag) {
- array_push($entry_tags, $tag);
- }
+ // like boring tags, but filter-based
+ foreach ($article_filters as $f) {
+ if ($f["type"] == "ignore-tag") {
+ $entry_tags = array_diff($entry_tags,
+ FeedItem_Common::normalize_categories(explode(",", $f["param"])));
}
}
// Skip boring tags
-
- $boring_tags = array_map('trim',
- explode(",", mb_strtolower(
- get_pref(Prefs::BLACKLISTED_TAGS, $feed_obj->owner_uid))));
-
$entry_tags = FeedItem_Common::normalize_categories(
- array_unique(
- array_diff($entry_tags, $boring_tags)));
+ array_diff($entry_tags,
+ FeedItem_Common::normalize_categories(explode(",",
+ get_pref(Prefs::BLACKLISTED_TAGS, $feed_obj->owner_uid)))));
- Debug::log("filtered tags: " . implode(", ", $entry_tags), Debug::LOG_VERBOSE);
+ Debug::log("resulting article tags: " . implode(", ", $entry_tags), Debug::LOG_VERBOSE);
// Save article tags in the database
-
if (count($entry_tags) > 0) {
$tsth = $pdo->prepare("SELECT id FROM ttrss_tags