icons in feedlist
This commit is contained in:
parent
79a33f8922
commit
7880091293
2
README
2
README
|
@ -17,4 +17,6 @@ Requirements:
|
||||||
|
|
||||||
Don't forget to copy config.php-dist to config.php and edit it.
|
Don't forget to copy config.php-dist to config.php and edit it.
|
||||||
|
|
||||||
|
icons/ directory should be writable for your httpd user.
|
||||||
|
|
||||||
Send your questions, comments, patches to Andrew Dolgov <cthulhoo@gmail.com>
|
Send your questions, comments, patches to Andrew Dolgov <cthulhoo@gmail.com>
|
||||||
|
|
12
backend.php
12
backend.php
|
@ -52,7 +52,19 @@
|
||||||
|
|
||||||
print "<tr class=\"$class\" id=\"FEEDR-$feed_id\">";
|
print "<tr class=\"$class\" id=\"FEEDR-$feed_id\">";
|
||||||
|
|
||||||
|
$icon_file = ICONS_DIR . "/$feed_id.ico";
|
||||||
|
|
||||||
|
if (file_exists($icon_file) && filesize($icon_file) > 0) {
|
||||||
|
$feed_icon = "<img width=\"16\" height=\"16\"
|
||||||
|
src=\"" . ICONS_URL . "/$feed_id.ico\">";
|
||||||
|
} else {
|
||||||
|
$feed_icon = " ";
|
||||||
|
}
|
||||||
|
|
||||||
$feed = "<a href=\"javascript:viewfeed($feed_id, 0);\">$feed</a>";
|
$feed = "<a href=\"javascript:viewfeed($feed_id, 0);\">$feed</a>";
|
||||||
|
if (ENABLE_FEED_ICONS) {
|
||||||
|
print "<td>$feed_icon</td>";
|
||||||
|
}
|
||||||
print "<td id=\"FEEDN-$feed_id\">$feed</td>";
|
print "<td id=\"FEEDN-$feed_id\">$feed</td>";
|
||||||
print "<td>";
|
print "<td>";
|
||||||
print "<span id=\"FEEDU-$feed_id\">$unread</span> / ";
|
print "<span id=\"FEEDU-$feed_id\">$unread</span> / ";
|
||||||
|
|
|
@ -5,5 +5,9 @@
|
||||||
define(HEADLINES_PER_PAGE, 15);
|
define(HEADLINES_PER_PAGE, 15);
|
||||||
define(MIN_UPDATE_TIME, 1800);
|
define(MIN_UPDATE_TIME, 1800);
|
||||||
define(WEB_DEMO_MODE, false);
|
define(WEB_DEMO_MODE, false);
|
||||||
|
define(ENABLE_FEED_ICONS, true);
|
||||||
|
define(ICONS_DIR, "icons");
|
||||||
|
define(ICONS_URL, "icons");
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
|
@ -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) {
|
function update_rss_feed($link, $feed_url, $feed) {
|
||||||
|
|
||||||
if (WEB_DEMO_MODE) return;
|
if (WEB_DEMO_MODE) return;
|
||||||
|
@ -39,6 +71,10 @@
|
||||||
|
|
||||||
if ($rss) {
|
if ($rss) {
|
||||||
|
|
||||||
|
if (ENABLE_FEED_ICONS) {
|
||||||
|
check_feed_favicon($feed_url, $feed);
|
||||||
|
}
|
||||||
|
|
||||||
$result = pg_query("SELECT title FROM ttrss_feeds WHERE id = '$feed'");
|
$result = pg_query("SELECT title FROM ttrss_feeds WHERE id = '$feed'");
|
||||||
|
|
||||||
$registered_title = pg_fetch_result($result, 0, "title");
|
$registered_title = pg_fetch_result($result, 0, "title");
|
||||||
|
@ -186,6 +222,4 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
Loading…
Reference in New Issue