diff options
| author | 2024-12-27 12:12:49 +0100 | |
|---|---|---|
| committer | 2024-12-27 12:12:49 +0100 | |
| commit | b1d24fbdb7d1cc948c946295035dad6df550fb7e (patch) | |
| tree | 7b4365a04097a779659474fbb9281a9661512522 /lib/favicons.php | |
| parent | 897e4a3f4a273d50c28157edb67612b2d7fa2e6f (diff) | |
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
Diffstat (limited to 'lib/favicons.php')
| -rw-r--r-- | lib/favicons.php | 9 |
1 files changed, 6 insertions, 3 deletions
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<int,int|bool> $curlOptions */ +/** @param array<int,int|bool|string> $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); |
