summaryrefslogtreecommitdiff
path: root/functions.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2006-12-06 09:55:58 +0100
committerAndrew Dolgov <[email protected]>2006-12-06 09:55:58 +0100
commit5854573ad3f8137d123b7f0d196f1c0e38dcb1d4 (patch)
tree6637ee885c1b17a46df3a416969474490e8779b5 /functions.js
parente3612080e8b84ad55742b1761ac03cc162b59e1d (diff)
unify counter reply object handling when called from auto refetch and manually
Diffstat (limited to 'functions.js')
-rw-r--r--functions.js57
1 files changed, 55 insertions, 2 deletions
diff --git a/functions.js b/functions.js
index 230fe1ab8..3fa3d5e53 100644
--- a/functions.js
+++ b/functions.js
@@ -613,10 +613,59 @@ function parse_counters(reply, scheduled_call) {
}
}
+function parse_counters_reply(xmlhttp) {
+
+ if (!xmlhttp.responseXML) {
+ notify("refetch_callback: backend did not return valid XML", true, true);
+ return;
+ }
+
+ var reply = xmlhttp.responseXML.firstChild;
+
+ if (!reply) {
+ notify("refetch_callback: backend did not return expected XML object", true, true);
+ updateTitle("");
+ return;
+ }
+
+ var error_code = false;
+ var error_msg = false;
+
+ if (reply.firstChild) {
+ error_code = reply.firstChild.getAttribute("error-code");
+ error_msg = reply.firstChild.getAttribute("error-msg");
+ }
+
+ if (!error_code) {
+ error_code = reply.getAttribute("error-code");
+ error_msg = reply.getAttribute("error-msg");
+ }
+
+ if (error_code && error_code != 0) {
+ debug("refetch_callback: got error code " + error_code);
+ return fatalError(error_code, error_msg);
+ }
+
+ var counters = reply.firstChild;
+
+ parse_counters(counters, true);
+
+ var runtime_info = counters.nextSibling;
+
+ parse_runtime_info(runtime_info);
+
+ if (getInitParam("feeds_sort_by_unread") == 1) {
+ resort_feedlist();
+ }
+
+ hideOrShowFeeds(document, getInitParam("hide_read_feeds") == 1);
+
+}
+
function all_counters_callback() {
if (xmlhttp_rpc.readyState == 4) {
try {
- if (!xmlhttp_rpc.responseXML || !xmlhttp_rpc.responseXML.firstChild) {
+/* if (!xmlhttp_rpc.responseXML || !xmlhttp_rpc.responseXML.firstChild) {
debug("[all_counters_callback] backend did not return valid XML");
return;
}
@@ -639,7 +688,11 @@ function all_counters_callback() {
resort_feedlist();
}
- hideOrShowFeeds(document, getInitParam("hide_read_feeds") == 1);
+ hideOrShowFeeds(document, getInitParam("hide_read_feeds") == 1); */
+
+ debug("in all_counters_callback");
+
+ parse_counters_reply(xmlhttp_rpc);
} catch (e) {
exception_error("all_counters_callback", e);