diff --git a/classes/api.php b/classes/api.php index aa5964200..c28d36524 100644 --- a/classes/api.php +++ b/classes/api.php @@ -633,7 +633,7 @@ class API extends Handler { $unread = getFeedUnread($line["id"]); - $has_icon = feed_has_icon($line['id']); + $has_icon = Feeds::feedHasIcon($line['id']); if ($unread || !$unread_only) { diff --git a/classes/counters.php b/classes/counters.php index 54e4041f5..2de7d5a3a 100644 --- a/classes/counters.php +++ b/classes/counters.php @@ -183,7 +183,11 @@ class Counters { $last_updated = make_local_datetime($line['last_updated'], false); - $has_img = feed_has_icon($id); + if (Feeds::feedHasIcon($id)) { + $has_img = filemtime(Feeds::getIconFile($id)); + } else { + $has_img = false; + } if (date('Y') - date('Y', strtotime($line['last_updated'])) > 2) $last_updated = ''; diff --git a/classes/feeds.php b/classes/feeds.php index 07dd2a600..b52b580f4 100755 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -414,7 +414,7 @@ class Feeds extends Handler_Protected { $entry_author = " — $entry_author"; } - $has_feed_icon = feed_has_icon($feed_id); + $has_feed_icon = feeds::feedHasIcon($feed_id); if ($has_feed_icon) { $feed_icon_img = "\"\""; @@ -537,20 +537,12 @@ class Feeds extends Handler_Protected { if ($vfeed_group_enabled && $line["feed_title"]) { if ($feed_id != $vgroup_last_feed) { - $cur_feed_title = $line["feed_title"]; $vgroup_last_feed = $feed_id; - $cur_feed_title = htmlspecialchars($cur_feed_title); - $vf_catchup_link = "".__('mark feed as read').""; - $has_feed_icon = feed_has_icon($feed_id); - - if ($has_feed_icon) { - $feed_icon_img = "\"\""; - } else { - //$feed_icon_img = "\"\""; - } + $feed_icon_src = Feeds::getFeedIcon($feed_id); + $feed_icon_img = ""; $reply['content'] .= "
". "
$feed_icon_img
". @@ -1590,6 +1582,10 @@ class Feeds extends Handler_Protected { return ICONS_DIR . "/$feed_id.ico"; } + static function feedHasIcon($id) { + return is_file(ICONS_DIR . "/$id.ico") && filesize(ICONS_DIR . "/$id.ico") > 0; + } + static function getFeedIcon($id) { switch ($id) { case 0: @@ -2052,9 +2048,9 @@ class Feeds extends Handler_Protected { // proper override_order applied above if ($vfeed_query_part && !$ignore_vfeed_group && get_pref('VFEED_GROUP_BY_FEED', $owner_uid)) { if (!$override_order) { - $order_by = "ttrss_feeds.title, ".$pdo->quote($order_by); + $order_by = "ttrss_feeds.title, ".$order_by; } else { - $order_by = "ttrss_feeds.title, ".$pdo->quote($override_order); + $order_by = "ttrss_feeds.title, ".$override_order; } } diff --git a/include/functions.php b/include/functions.php index fc0cdec7c..417abfbb8 100644 --- a/include/functions.php +++ b/include/functions.php @@ -1932,10 +1932,6 @@ } } - function feed_has_icon($id) { - return is_file(ICONS_DIR . "/$id.ico") && filesize(ICONS_DIR . "/$id.ico") > 0; - } - function init_plugins() { PluginHost::getInstance()->load(PLUGINS, PluginHost::KIND_ALL); diff --git a/js/feedlist.js b/js/feedlist.js index d9bc0a0c9..1e783f3b3 100644 --- a/js/feedlist.js +++ b/js/feedlist.js @@ -326,7 +326,7 @@ function parse_counters(elems) { if (id > 0) { if (has_img) { setFeedIcon(id, false, - getInitParam("icons_url") + "/" + id + ".ico"); + getInitParam("icons_url") + "/" + id + ".ico?" + has_img); } else { setFeedIcon(id, false, 'images/blank_icon.gif'); }