summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend.php12
-rw-r--r--tt-rss.js2
-rw-r--r--viewfeed.js16
3 files changed, 21 insertions, 9 deletions
diff --git a/backend.php b/backend.php
index b04b2619b..f83b71d5e 100644
--- a/backend.php
+++ b/backend.php
@@ -155,9 +155,9 @@
// in prefetch mode we only output requested cids, main article
// just gets marked as read (it already exists in client cache)
- if ($mode != "prefetch") {
+ if ($mode == "") {
outputArticleXML($link, $id, $feed_id);
- } else {
+ } else if ($mode == "prefetch") {
catchupArticleById($link, $id, 0);
}
@@ -167,9 +167,11 @@
}
}
- print "<counters>";
- getAllCounters($link, $omode);
- print "</counters>";
+ if ($mode != "prefetch_old") {
+ print "<counters>";
+ getAllCounters($link, $omode);
+ print "</counters>";
+ }
print "</reply>";
}
diff --git a/tt-rss.js b/tt-rss.js
index d22aa1fba..861c9abb8 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -50,7 +50,7 @@ function dlg_frefresh_callback() {
if (getActiveFeedId() == _qfd_deleted_feed) {
var h = document.getElementById("headlines-frame");
if (h) {
- h.innerHTML = "<div class='whiteBox'>No feed selected.</div>";
+ h.innerHTML = "<div class='whiteBox'>" + __('No feed selected.') + "</div>";
}
}
diff --git a/viewfeed.js b/viewfeed.js
index 91b042689..f60783514 100644
--- a/viewfeed.js
+++ b/viewfeed.js
@@ -50,11 +50,12 @@ function headlines_callback() {
if (counters) {
debug("parsing piggybacked counters: " + counters);
parse_counters(counters, false);
+ } else {
+ debug("counters container not found in reply");
}
} else {
debug("headlines_callback: returned no XML object");
- f.innerHTML = xmlhttp.responseText;
- update_all_counters();
+ f.innerHTML = "<div class='whiteBox'>" + __('Could not update headlines (missing XML object)') + "</div>";
}
if (typeof correctPNG != 'undefined') {
@@ -122,6 +123,7 @@ function article_callback() {
} else {
debug("article_callback: returned no XML object");
+ f.innerHTML = "<div class='whiteBox'>" + __('Could not display article (missing XML object)') + "</div>";
}
} catch (e) {
exception_error("article_callback", e);
@@ -144,7 +146,7 @@ function article_callback() {
debug("parsing piggybacked counters: " + counters);
parse_counters(counters, false);
} else {
- update_all_counters();
+ debug("counters container not found in reply");
}
}
@@ -253,6 +255,14 @@ function view(id, feed_id, skip_history) {
} else if (cached_article) {
+ query = query + "&mode=prefetch_old";
+
+ debug(query);
+
+ xmlhttp.open("GET", query, true);
+ xmlhttp.onreadystatechange=article_callback;
+ xmlhttp.send(null);
+
render_article(cached_article);
}