Browse Source

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).
MatthieuS 11 months ago
parent
commit
5d95676ecc
1 changed files with 4 additions and 4 deletions
  1. 4 4
      classes/feeds.php

+ 4 - 4
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);