diff options
author | wn_ <[email protected]> | 2022-08-15 10:43:14 +0000 |
---|---|---|
committer | wn_ <[email protected]> | 2022-08-15 10:43:14 +0000 |
commit | 0dbed700efa77355839a4d2cddf02f93203dc96f (patch) | |
tree | 67d9da35ae41b36a7fb23830f375cd00ee2f797b | |
parent | c301053965004f43408545f4b80cf444ce6a9587 (diff) | |
parent | 7d77edd1fbce51b89b83c2203d1aae98333a3bed (diff) |
Merge remote-tracking branch 'origin/master' into feature/php-7.4-stuff
-rw-r--r-- | classes/urlhelper.php | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/classes/urlhelper.php b/classes/urlhelper.php index 5ccaaf2da..dc47f5ad8 100644 --- a/classes/urlhelper.php +++ b/classes/urlhelper.php @@ -439,7 +439,11 @@ class UrlHelper { } if (!$contents) { - self::$fetch_last_error = curl_errno($ch) . " " . curl_error($ch); + if (curl_errno($ch) === 0) { + self::$fetch_last_error = 'Successful response, but no content was received.'; + } else { + self::$fetch_last_error = curl_errno($ch) . " " . curl_error($ch); + } curl_close($ch); return false; } @@ -520,6 +524,11 @@ class UrlHelper { $data = @file_get_contents($url, false, $context); + if ($data === false) { + self::$fetch_last_error = "'file_get_contents' failed."; + return false; + } + foreach ($http_response_header as $header) { if (strstr($header, ": ") !== false) { list ($key, $value) = explode(": ", $header); @@ -555,15 +564,20 @@ class UrlHelper { return false; } - $is_gzipped = RSSUtils::is_gzipped($data); + if ($data) { + $is_gzipped = RSSUtils::is_gzipped($data); - if ($is_gzipped && $data) { - $tmp = @gzdecode($data); + if ($is_gzipped) { + $tmp = @gzdecode($data); - if ($tmp) $data = $tmp; - } + if ($tmp) $data = $tmp; + } - return $data; + return $data; + } else { + self::$fetch_last_error = 'Successful response, but no content was received.'; + return false; + } } } |