From: Andrew Dolgov Date: Wed, 7 Nov 2018 11:21:39 +0000 (+0300) Subject: generate_syndicated_feed: add support for virtual feeds provided by plugins X-Git-Tag: 18.12~47 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=253dbd48562f0742befe0335278c4e26ac313efe;p=tt-rss.git generate_syndicated_feed: add support for virtual feeds provided by plugins --- diff --git a/classes/handler/public.php b/classes/handler/public.php index de9c9684..dbed3fee 100755 --- a/classes/handler/public.php +++ b/classes/handler/public.php @@ -33,6 +33,7 @@ class Handler_Public extends Handler { $date_sort_field = "updated DESC"; break; } + $params = array( "owner_uid" => $owner_uid, "feed" => $feed, @@ -47,7 +48,26 @@ class Handler_Public extends Handler { "start_ts" => $start_ts ); - $qfh_ret = Feeds::queryFeedHeadlines($params); + if (!$is_cat && is_numeric($feed) && $feed < PLUGIN_FEED_BASE_INDEX && $feed > LABEL_BASE_INDEX) { + + $user_plugins = get_pref("_ENABLED_PLUGINS", $owner_uid); + + $tmppluginhost = new PluginHost(); + $tmppluginhost->load(PLUGINS, PluginHost::KIND_ALL); + $tmppluginhost->load($user_plugins, PluginHost::KIND_USER, $owner_uid); + $tmppluginhost->load_data(); + + $handler = $tmppluginhost->get_feed_handler( + PluginHost::feed_to_pfeed_id($feed)); + + if ($handler) { + $qfh_ret = $handler->get_headlines(PluginHost::feed_to_pfeed_id($feed), + $options); + } + + } else { + $qfh_ret = Feeds::queryFeedHeadlines($params); + } $result = $qfh_ret[0]; $feed_title = htmlspecialchars($qfh_ret[1]);