diff --git a/backend.php b/backend.php
index 916d2b123..482874d21 100644
--- a/backend.php
+++ b/backend.php
@@ -238,6 +238,7 @@
}
$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
@@ -264,6 +265,8 @@
$total_unread = 0;
$category = "";
+
+ $short_date = get_pref($link, 'SHORT_DATE_FORMAT');
while ($line = db_fetch_assoc($result)) {
@@ -275,6 +278,12 @@
$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) {
@@ -365,7 +374,8 @@
$tmp_category
($cat_unread unread)$ellipsis";
+ class=\"$catctr_class\">($cat_unread unread)$ellipsis
+ ";
// !!! NO SPACE before
keyboard navigation, etc.
@@ -373,7 +383,8 @@
}
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;
}
diff --git a/functions.js b/functions.js
index 4ae578edd..9858608ca 100644
--- a/functions.js
+++ b/functions.js
@@ -399,6 +399,7 @@ function parse_counters(reply, f_document, title_obj, scheduled_call) {
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;
@@ -418,6 +419,15 @@ function parse_counters(reply, f_document, title_obj, scheduled_call) {
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) {
diff --git a/functions.php b/functions.php
index 825b19831..adb71be23 100644
--- a/functions.php
+++ b/functions.php
@@ -686,7 +686,7 @@
}
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 = "";
@@ -700,7 +700,13 @@
$rtl_tag = "dir=\"ltr\"";
}
- $feed = "$feed_title";
+ if ($last_error) {
+ $link_title = "Error: $last_error ($last_updated)";
+ } else {
+ $link_title = "Updated: $last_updated";
+ }
+
+ $feed = "$feed_title";
print "";
if (get_pref($link, 'ENABLE_FEED_ICONS')) {
@@ -1399,6 +1405,7 @@
$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
@@ -1409,12 +1416,20 @@
$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,
@@ -1445,7 +1460,7 @@
$has_img_part = "";
}
- print "";
+ print "";
}
}