From: MatthieuS Date: Wed, 23 May 2018 09:00:04 +0000 (+0000) Subject: Call the subscription hook from the plugins even if fetch_file_contents returned... X-Git-Tag: 18.8~32^2 X-Git-Url: https://git.wh0rd.org/?p=tt-rss.git;a=commitdiff_plain;h=5d95676ecc665395bad96b3a8b2930715e5b947b Call the subscription hook from the plugins even if fetch_file_contents returned no data This allows a plug-in to override the fetch when the core fetch method fails for some feeds (eg. Tumblr feeds when requested from an EU IP). --- diff --git a/classes/feeds.php b/classes/feeds.php index 01541832..47a6b56b 100755 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -1466,6 +1466,10 @@ class Feeds extends Handler_Protected { $contents = @fetch_file_contents($url, false, $auth_login, $auth_pass); + foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_SUBSCRIBE_FEED) as $plugin) { + $contents = $plugin->hook_subscribe_feed($contents, $url, $auth_login, $auth_pass); + } + if (!$contents) { if (preg_match("/cloudflare\.com/", $fetch_last_error_content)) { $fetch_last_error .= " (feed behind Cloudflare)"; @@ -1474,10 +1478,6 @@ class Feeds extends Handler_Protected { return array("code" => 5, "message" => $fetch_last_error); } - foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_SUBSCRIBE_FEED) as $plugin) { - $contents = $plugin->hook_subscribe_feed($contents, $url, $auth_login, $auth_pass); - } - if (is_html($contents)) { $feedUrls = get_feeds_from_html($url, $contents);