generate_syndicated_feed: add support for virtual feeds provided by plugins

This commit is contained in:
Andrew Dolgov 2018-11-07 14:21:39 +03:00
parent 22366ccc5b
commit 253dbd4856
1 changed files with 21 additions and 1 deletions

View File

@ -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
);
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]);