var headlines = transport.responseXML.getElementsByTagName("headlines")[0];
var headlines_count_obj = transport.responseXML.getElementsByTagName("headlines-count")[0];
var headlines_unread_obj = transport.responseXML.getElementsByTagName("headlines-unread")[0];
+ var disable_cache_obj = transport.responseXML.getElementsByTagName("disable-cache")[0];
var headlines_count = headlines_count_obj.getAttribute("value");
var headlines_unread = headlines_unread_obj.getAttribute("value");
+ var disable_cache = disable_cache_obj.getAttribute("value") != "0";
if (headlines_count == 0) _infscroll_disable = 1;
if (headlines) {
f.innerHTML = headlines.firstChild.nodeValue;
- cache_inject("F:" + active_feed_id,
- headlines.firstChild.nodeValue, headlines_unread);
+ var cache_prefix = "";
+
+ if (is_cat) {
+ cache_prefix = "C:";
+ } else {
+ cache_prefix = "F:";
+ }
+
+ cache_invalidate(cache_prefix + active_feed_id);
+
+ if (!disable_cache) {
+ cache_inject(cache_prefix + active_feed_id,
+ headlines.firstChild.nodeValue, headlines_unread);
+ }
} else {
debug("headlines_callback: returned no data");
var article_is_unread = crow.className.match("Unread");
crow.className = crow.className.replace("Unread", "");
-
+
+ selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', false);
+
var upd_img_pic = document.getElementById("FUPDPIC-" + id);
-
- if (upd_img_pic) {
+
+ var cache_prefix = "";
+
+ if (activeFeedIsCat()) {
+ cache_prefix = "C:";
+ } else {
+ cache_prefix = "F:";
+ }
+
+ var view_mode = false;
+
+ try {
+ view_mode = document.forms['main_toolbar_form'].view_mode;
+ view_mode = view_mode[view_mode.selectedIndex].value;
+ } catch (e) {
+ exception_error("showArticleInHeadlines/viewmode", e, true);
+ }
+
+ if (upd_img_pic && upd_img_pic.src.match("updated.png")) {
upd_img_pic.src = "images/blank_icon.gif";
+
+ cache_invalidate(cache_prefix + getActiveFeedId());
+
+ cache_inject(cache_prefix + getActiveFeedId(),
+ document.getElementById("headlines-frame").innerHTML,
+ get_feed_unread(getActiveFeedId()));
+
+ } else if (article_is_unread && view_mode == "all_articles") {
+
+ cache_invalidate(cache_prefix + getActiveFeedId());
+
+ cache_inject(cache_prefix + getActiveFeedId(),
+ document.getElementById("headlines-frame").innerHTML,
+ get_feed_unread(getActiveFeedId())-1);
+
+ } else if (article_is_unread) {
+ cache_invalidate(cache_prefix + getActiveFeedId());
}
-
- selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', false);
+
markHeadline(id);
} catch (e) {