From f483a5e95bc78cfb42e6fd90436c9f1c60e0242b Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sun, 23 Apr 2017 01:59:09 +0200 Subject: Favicon fix redirects https://github.com/ArthurHoaro/favicon/pull/5/commits/92b42591591b4282261f21ed5ffa553f5e987a9d --- lib/Favicon/DataAccess.php | 2 ++ lib/Favicon/Favicon.php | 3 +++ lib/favicons.php | 1 + 3 files changed, 6 insertions(+) (limited to 'lib') diff --git a/lib/Favicon/DataAccess.php b/lib/Favicon/DataAccess.php index 838df66c3..1445e9343 100644 --- a/lib/Favicon/DataAccess.php +++ b/lib/Favicon/DataAccess.php @@ -32,6 +32,8 @@ class DataAccess { array( 'http' => array( 'method' => 'GET', + 'follow_location' => 0, + 'max_redirects' => 1, 'timeout' => 10, 'header' => "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:20.0; Favicon; +https://github.com/ArthurHoaro/favicon) Gecko/20100101 Firefox/32.0\r\n", ) diff --git a/lib/Favicon/Favicon.php b/lib/Favicon/Favicon.php index 39f45f139..c026d8a95 100644 --- a/lib/Favicon/Favicon.php +++ b/lib/Favicon/Favicon.php @@ -111,6 +111,9 @@ class Favicon case '301': case '302': $url = isset($headers['location']) ? $headers['location'] : ''; + if (is_array($url)) { + $url = end($url); + } break; default: $loop = FALSE; diff --git a/lib/favicons.php b/lib/favicons.php index 93e570d27..d8baba342 100644 --- a/lib/favicons.php +++ b/lib/favicons.php @@ -14,6 +14,7 @@ function download_favicon($website, $dest) { $favicon_getter = new \Favicon\Favicon(); $tmpPath = realpath(TMP_PATH); $favicon_getter->setCacheDir($tmpPath); + $favicon_getter->setCacheTimeout(-1); $favicon_path = $favicon_getter->get($website, \Favicon\FaviconDLType::DL_FILE_PATH); return ($favicon_path != false && @rename($tmpPath . '/' . $favicon_path, $dest)) || -- cgit v1.2.3