}
$result = db_query($link, "SELECT ttrss_feeds.*,
+ SUBSTRING(last_updated,1,19) AS last_updated_noms,
(SELECT COUNT(id) FROM ttrss_entries,ttrss_user_entries
WHERE feed_id = ttrss_feeds.id AND
ttrss_user_entries.ref_id = ttrss_entries.id AND
$total_unread = 0;
$category = "";
+
+ $short_date = get_pref($link, 'SHORT_DATE_FORMAT');
while ($line = db_fetch_assoc($result)) {
$total = $line["total"];
$unread = $line["unread"];
+ if (get_pref($link, 'HEADLINES_SMART_DATE')) {
+ $last_updated = smart_date_time(strtotime($line["last_updated_noms"]));
+ } else {
+ $last_updated = date($short_date, strtotime($line["last_updated_noms"]));
+ }
+
$rtl_content = sql_bool_to_bool($line["rtl_content"]);
if ($rtl_content) {
<a href=\"javascript:toggleCollapseCat($cat_id)\">$tmp_category</a>
<a href=\"javascript:viewCategory($cat_id)\" id=\"FCAP-$cat_id\">
<span id=\"FCATCTR-$cat_id\"
- class=\"$catctr_class\">($cat_unread unread)$ellipsis</span></a></li>";
+ class=\"$catctr_class\">($cat_unread unread)$ellipsis</span>
+ </a></li>";
// !!! NO SPACE before <ul...feedCatList - breaks firstChild DOM function
// -> keyboard navigation, etc.
}
printFeedEntry($feed_id, $class, $feed, $unread,
- "icons/$feed_id.ico", $link, $rtl_content);
+ "icons/$feed_id.ico", $link, $rtl_content,
+ $last_updated, $line["last_error"]);
++$lnum;
}
var ctr = reply.childNodes[l].getAttribute("counter");
var error = reply.childNodes[l].getAttribute("error");
var has_img = reply.childNodes[l].getAttribute("hi");
+ var updated = reply.childNodes[l].getAttribute("updated");
if (id == "global-unread") {
title_obj.global_unread = ctr;
var feedu = f_document.getElementById("FEEDU-" + id);
var feedr = f_document.getElementById("FEEDR-" + id);
var feed_img = f_document.getElementById("FIMG-" + id);
+ var feedlink = f_document.getElementById("FEEDL-" + id);
+
+ if (updated && feedlink) {
+ if (error) {
+ feedlink.title = "Error: " + error + " (" + updated + ")";
+ } else {
+ feedlink.title = "Updated: " + updated;
+ }
+ }
if (feedctr && feedu && feedr) {
}
function printFeedEntry($feed_id, $class, $feed_title, $unread, $icon_file, $link,
- $rtl_content = false) {
+ $rtl_content = false, $last_updated = false, $last_error = false) {
if (file_exists($icon_file) && filesize($icon_file) > 0) {
$feed_icon = "<img id=\"FIMG-$feed_id\" src=\"$icon_file\">";
$rtl_tag = "dir=\"ltr\"";
}
- $feed = "<a href=\"javascript:viewfeed('$feed_id', 0);\">$feed_title</a>";
+ if ($last_error) {
+ $link_title = "Error: $last_error ($last_updated)";
+ } else {
+ $link_title = "Updated: $last_updated";
+ }
+
+ $feed = "<a title=\"$link_title\" id=\"FEEDL-$feed_id\" href=\"javascript:viewfeed('$feed_id', 0);\">$feed_title</a>";
print "<li id=\"FEEDR-$feed_id\" class=\"$class\">";
if (get_pref($link, 'ENABLE_FEED_ICONS')) {
$old_counters = $_SESSION["fctr_last_value"];
$result = db_query($link, "SELECT id,last_error,parent_feed,
+ SUBSTRING(last_updated,1,19) AS last_updated,
(SELECT count(id)
FROM ttrss_entries,ttrss_user_entries
WHERE feed_id = ttrss_feeds.id AND
$fctrs_modified = false;
+ $short_date = get_pref($link, 'SHORT_DATE_FORMAT');
+
while ($line = db_fetch_assoc($result)) {
$id = $line["id"];
$count = $line["count"];
$last_error = htmlspecialchars($line["last_error"]);
-
+
+ if (get_pref($link, 'HEADLINES_SMART_DATE')) {
+ $last_updated = smart_date_time(strtotime($line["last_updated"]));
+ } else {
+ $last_updated = date($short_date, strtotime($line["last_updated"]));
+ }
+
$has_img = is_file(ICONS_DIR . "/$id.ico");
$tmp_result = db_query($link,
$has_img_part = "";
}
- print "<counter type=\"feed\" id=\"$id\" counter=\"$count\" $has_img_part $error_part/>";
+ print "<counter type=\"feed\" id=\"$id\" counter=\"$count\" $has_img_part $error_part updated=\"$last_updated\"/>";
}
}