storeInitParam: only store changed params on server

This commit is contained in:
Andrew Dolgov 2006-05-24 04:55:13 +01:00
parent 1cb7492dc4
commit 1035fcecd8
3 changed files with 35 additions and 6 deletions

View File

@ -29,6 +29,11 @@ function viewfeed(feed, skip, subop, doc, is_cat, subop_param) {
storeInitParam("toolbar_view_mode",
toolbar_form.view_mode[toolbar_form.view_mode.selectedIndex].value);
/* var sp = new Object();
sp["toolbar_limit"] = toolbar_form.limit[toolbar_form.limit.selectedIndex].value;
sp["toolbar_view_mode"] = toolbar_form.view_mode[toolbar_form.view_mode.selectedIndex].value;
storeInitParams(sp); */
var query = "backend.php?op=viewfeed&feed=" + feed + "&" +
toolbar_query + "&subop=" + param_escape(subop);

View File

@ -1162,19 +1162,43 @@ function getInitParam(key) {
return getMainContext().init_params[key];
}
// TODO: batch mode
function storeInitParam(key, value, is_client) {
try {
getMainContext().init_params[key] = value;
if (!is_client) {
new Ajax.Request("backend.php?op=rpc&subop=storeParam&key=" +
param_escape(key) + "&value=" + param_escape(value));
if (getMainContext().init_params[key] != value) {
debug("storeInitParam: " + key + " => " + value);
new Ajax.Request("backend.php?op=rpc&subop=storeParam&key=" +
param_escape(key) + "&value=" + param_escape(value));
}
}
getMainContext().init_params[key] = value;
} catch (e) {
exception_error("storeInitParam", e);
}
}
/*
function storeInitParams(params, is_client) {
try {
var s = "";
for (k in params) {
if (getMainContext().init_params[k] != params[k]) {
s += k + "=" + params[k] + ";";
getMainContext().init_params[k] = params[k];
}
}
debug("storeInitParams: " + s);
if (!is_client) {
new Ajax.Request("backend.php?op=rpc&subop=storeParams&str=" + s);
}
} catch (e) {
exception_error("storeInitParams", e);
}
}*/
function fatalError(code, message) {
try {
var fe = document.getElementById("fatal_error");

View File

@ -14,7 +14,7 @@ var active_feed_id = 0;
var xmlhttp = Ajax.getTransport();
var init_params = new Array();
var init_params = new Object();
function toggleTags() {
display_tags = !display_tags;