request counters asynchronously after viewfeed has succeeded but w/o counters block

This commit is contained in:
Andrew Dolgov 2008-05-20 13:52:38 +01:00
parent d6586c1d98
commit 5aaf9b34e4
3 changed files with 30 additions and 19 deletions

View File

@ -288,11 +288,11 @@
if ($_GET["debug"]) $timing_info = print_checkpoint("20", $timing_info); if ($_GET["debug"]) $timing_info = print_checkpoint("20", $timing_info);
if (time() - $_SESSION["get_all_counters_stamp"] > 300) { /* if (time() - $_SESSION["get_all_counters_stamp"] > 300) {
print "<counters>"; print "<counters>";
getAllCounters($link, $omode, $feed); getAllCounters($link, $omode, $feed);
print "</counters>"; print "</counters>";
} } */
if ($_GET["debug"]) $timing_info = print_checkpoint("30", $timing_info); if ($_GET["debug"]) $timing_info = print_checkpoint("30", $timing_info);

View File

@ -210,22 +210,7 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) {
f.innerHTML = cache_find_param(cache_prefix + feed, unread_ctr); f.innerHTML = cache_find_param(cache_prefix + feed, unread_ctr);
var query = "backend.php?op=rpc&subop=getAllCounters"; request_counters();
if (tagsAreDisplayed()) {
query = query + "&omode=tl";
} else {
query = query + "&omode=flc";
}
new Ajax.Request(query, {
onComplete: function(transport) {
try {
all_counters_callback2(transport);
} catch (e) {
exception_error("viewfeed/getcounters", e);
}
} });
} else { } else {
@ -510,3 +495,28 @@ function mouse_up_handler(e) {
exception_error("mouse_move_handler", e); exception_error("mouse_move_handler", e);
} }
} }
function request_counters() {
try {
var query = "backend.php?op=rpc&subop=getAllCounters";
if (tagsAreDisplayed()) {
query = query + "&omode=tl";
} else {
query = query + "&omode=flc";
}
new Ajax.Request(query, {
onComplete: function(transport) {
try {
all_counters_callback2(transport);
} catch (e) {
exception_error("viewfeed/getcounters", e);
}
} });
} catch (e) {
exception_error("request_counters", e);
}
}

View File

@ -187,7 +187,8 @@ function headlines_callback2(transport, active_feed_id, is_cat, feed_cur_page) {
debug("parsing piggybacked counters: " + counters); debug("parsing piggybacked counters: " + counters);
parse_counters(counters, false); parse_counters(counters, false);
} else { } else {
debug("counters container not found in reply"); debug("counters container not found in reply, requesting...");
request_counters();
} }
if (runtime_info) { if (runtime_info) {