diff options
author | Andrew Dolgov <[email protected]> | 2006-03-28 07:12:45 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2006-03-28 07:12:45 +0100 |
commit | fb1fb4ab1facad22f9f9bfb868efa35500d90abf (patch) | |
tree | 41afdecde81014df5bee198ad9a35c51993d24de | |
parent | 3b0f23de404fb1616a80db06b8641d2f44a80291 (diff) |
show last update time/status in feed tooltip (#55)
-rw-r--r-- | backend.php | 15 | ||||
-rw-r--r-- | functions.js | 10 | ||||
-rw-r--r-- | functions.php | 23 |
3 files changed, 42 insertions, 6 deletions
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 @@ <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. @@ -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 = "<img id=\"FIMG-$feed_id\" src=\"$icon_file\">"; @@ -700,7 +700,13 @@ $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')) { @@ -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 "<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\"/>"; } } |