summaryrefslogtreecommitdiff
path: root/classes/urlhelper.php
diff options
context:
space:
mode:
authorwn_ <[email protected]>2022-08-15 10:43:14 +0000
committerwn_ <[email protected]>2022-08-15 10:43:14 +0000
commit0dbed700efa77355839a4d2cddf02f93203dc96f (patch)
tree67d9da35ae41b36a7fb23830f375cd00ee2f797b /classes/urlhelper.php
parentc301053965004f43408545f4b80cf444ce6a9587 (diff)
parent7d77edd1fbce51b89b83c2203d1aae98333a3bed (diff)
Merge remote-tracking branch 'origin/master' into feature/php-7.4-stuff
Diffstat (limited to 'classes/urlhelper.php')
-rw-r--r--classes/urlhelper.php28
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;
+ }
}
}