From b1d24fbdb7d1cc948c946295035dad6df550fb7e Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Fri, 27 Dec 2024 12:12:49 +0100 Subject: PHPStan 2.0 (#7131) * PHPStan 2.0 fix https://github.com/FreshRSS/FreshRSS/issues/6989 https://github.com/phpstan/phpstan/releases/tag/2.0.0 https://github.com/phpstan/phpstan/blob/2.0.x/UPGRADING.md * More * More * Done * fix i18n CLI * Restore a PHPStan Next test For work towards PHPStan Level 10 * 4 more on Level 10 * fix getTagsForEntry * API at Level 10 * More Level 10 * Finish Minz at Level 10 * Finish CLI at Level 10 * Finish Controllers at Level 10 * More Level 10 * More * Pass bleedingEdge * Clean PHPStan options and add TODOs * Level 10 for main config * More * Consitency array vs. list * Sanitize themes get_infos * Simplify TagDAO->getTagsForEntries() * Finish reportAnyTypeWideningInVarTag * Prepare checkBenevolentUnionTypes and checkImplicitMixed * Fixes * Refix * Another fix * Casing of __METHOD__ constant --- lib/favicons.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'lib/favicons.php') diff --git a/lib/favicons.php b/lib/favicons.php index 5df3682b8..bcb05f4f2 100644 --- a/lib/favicons.php +++ b/lib/favicons.php @@ -22,7 +22,7 @@ function isImgMime(string $content): bool { return $isImage; } -/** @param array $curlOptions */ +/** @param array $curlOptions */ function downloadHttp(string &$url, array $curlOptions = []): string { syslog(LOG_INFO, 'FreshRSS Favicon GET ' . $url); $url2 = checkUrl($url); @@ -61,7 +61,7 @@ function downloadHttp(string &$url, array $curlOptions = []): string { $url = $url2; //Possible redirect } } - return $info['http_code'] == 200 ? $response : ''; + return is_array($info) && $info['http_code'] == 200 ? $response : ''; } function searchFavicon(string &$url): string { @@ -103,6 +103,9 @@ function searchFavicon(string &$url): string { } $iri = $href->get_iri(); + if ($iri == false) { + return ''; + } $favicon = downloadHttp($iri, [CURLOPT_REFERER => $url]); if (isImgMime($favicon)) { return $favicon; @@ -115,7 +118,7 @@ function download_favicon(string $url, string $dest): bool { $url = trim($url); $favicon = searchFavicon($url); if ($favicon == '') { - $rootUrl = preg_replace('%^(https?://[^/]+).*$%i', '$1/', $url); + $rootUrl = preg_replace('%^(https?://[^/]+).*$%i', '$1/', $url) ?? $url; if ($rootUrl != $url) { $url = $rootUrl; $favicon = searchFavicon($url); -- cgit v1.2.3