aboutsummaryrefslogtreecommitdiff
path: root/p
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2016-10-07 21:55:10 +0200
committerGravatar GitHub <noreply@github.com> 2016-10-07 21:55:10 +0200
commitf777541ed95eaed41530a1d4756109f644da4a14 (patch)
tree03b9eaf2a242b2a7d270d4f83f40fb9d5fa6dd58 /p
parent1cb745818aee43319d2235c13ddded7c6d4c7d86 (diff)
parentd4c2231a7898b084b6741ceb9b175c9974be65cb (diff)
Merge pull request #1290 from Alkarex/refresh-favicon
Auto-refresh favicons
Diffstat (limited to 'p')
-rw-r--r--p/f.php16
1 files changed, 11 insertions, 5 deletions
diff --git a/p/f.php b/p/f.php
index 0f23921e3..6523cc759 100644
--- a/p/f.php
+++ b/p/f.php
@@ -15,6 +15,7 @@ $default_favicon = PUBLIC_PATH . '/themes/icons/default_favicon.ico';
function download_favicon($website, $dest) {
global $favicons_dir, $default_favicon;
+ syslog(LOG_DEBUG, 'FreshRSS Favicon discovery GET ' . $website);
$favicon_getter = new \Favicon\Favicon();
$favicon_getter->setCacheDir($favicons_dir);
$favicon_url = $favicon_getter->get($website);
@@ -23,6 +24,7 @@ function download_favicon($website, $dest) {
return @copy($default_favicon, $dest);
}
+ syslog(LOG_DEBUG, 'FreshRSS Favicon GET ' . $favicon_url);
$c = curl_init($favicon_url);
curl_setopt($c, CURLOPT_HEADER, false);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
@@ -69,18 +71,22 @@ $txt_mtime = @filemtime($txt);
header('Content-Type: image/x-icon');
-if ($ico_mtime == false || $txt_mtime > $ico_mtime) {
+if ($ico_mtime == false || $txt_mtime > $ico_mtime || ($ico_mtime < time() - 15 * 86400)) {
if ($txt_mtime == false) {
show_default_favicon(1800);
- return;
+ exit();
}
// no ico file or we should download a new one.
$url = file_get_contents($txt);
if (!download_favicon($url, $ico)) {
- // Download failed, show the default favicon
- show_default_favicon(86400);
- return;
+ // Download failed
+ if ($ico_mtime == false) {
+ show_default_favicon(86400);
+ exit();
+ } else {
+ touch($ico);
+ }
}
}