From 78800912937468fc68219b0ae1190edc049282b7 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 25 Aug 2005 07:46:24 +0100 Subject: icons in feedlist --- functions.php | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) (limited to 'functions.php') diff --git a/functions.php b/functions.php index 578020f23..4dafe4578 100644 --- a/functions.php +++ b/functions.php @@ -27,6 +27,38 @@ } + function check_feed_favicon($feed_url, $feed) { + $feed_url = str_replace("http://", "", $feed_url); + $feed_url = preg_replace("/\/.*$/", "", $feed_url); + + $icon_url = "http://$feed_url/favicon.ico"; + $icon_file = ICONS_DIR . "/$feed.ico"; + + if (!file_exists($icon_file)) { + + error_reporting(0); + $r = fopen($icon_url, "r"); + error_reporting (E_ERROR | E_WARNING | E_PARSE); + + if ($r) { + $tmpfname = tempnam("/tmp", "ttrssicon"); + + $t = fopen($tmpfname, "w"); + + while (!feof($r)) { + $buf = fread($r, 16384); + fwrite($t, $buf); + } + + fclose($r); + fclose($t); + + rename($tmpfname, $icon_file); + + } + } + } + function update_rss_feed($link, $feed_url, $feed) { if (WEB_DEMO_MODE) return; @@ -39,6 +71,10 @@ if ($rss) { + if (ENABLE_FEED_ICONS) { + check_feed_favicon($feed_url, $feed); + } + $result = pg_query("SELECT title FROM ttrss_feeds WHERE id = '$feed'"); $registered_title = pg_fetch_result($result, 0, "title"); @@ -186,6 +222,4 @@ } - - ?> -- cgit v1.2.3