init param API is context-free

This commit is contained in:
Andrew Dolgov 2006-05-23 07:15:49 +01:00
parent ac378ad4ec
commit 33d13e72e2
4 changed files with 39 additions and 29 deletions

View File

@ -45,10 +45,10 @@ function viewfeed(feed, skip, subop, doc, is_cat, subop_param) {
// setCookie("ttrss_vf_limit", toolbar_form.limit[toolbar_form.limit.selectedIndex].value); // setCookie("ttrss_vf_limit", toolbar_form.limit[toolbar_form.limit.selectedIndex].value);
// setCookie("ttrss_vf_vmode", toolbar_form.view_mode[toolbar_form.view_mode.selectedIndex].value); // setCookie("ttrss_vf_vmode", toolbar_form.view_mode[toolbar_form.view_mode.selectedIndex].value);
parent.storeInitParam("toolbar_limit", storeInitParam("toolbar_limit",
toolbar_form.limit[toolbar_form.limit.selectedIndex].value); toolbar_form.limit[toolbar_form.limit.selectedIndex].value);
parent.storeInitParam("toolbar_view_mode", storeInitParam("toolbar_view_mode",
toolbar_form.view_mode[toolbar_form.view_mode.selectedIndex].value); toolbar_form.view_mode[toolbar_form.view_mode.selectedIndex].value);
var query = "backend.php?op=viewfeed&feed=" + feed + "&" + var query = "backend.php?op=viewfeed&feed=" + feed + "&" +

View File

@ -404,18 +404,29 @@ function gotoExportOpml() {
} }
function getActiveFeedId() { function getActiveFeedId() {
return getCookie("ttrss_vf_actfeed"); // return getCookie("ttrss_vf_actfeed");
try {
debug("gAFID: " + getMainContext().active_feed_id);
return getMainContext().active_feed_id;
} catch (e) {
exception_error("getActiveFeedId", e);
}
} }
function setActiveFeedId(id) { function setActiveFeedId(id) {
return setCookie("ttrss_vf_actfeed", id); // return setCookie("ttrss_vf_actfeed", id);
try {
getMainContext().active_feed_id = id;
} catch (e) {
exception_error("setActiveFeedId", e);
}
} }
var xmlhttp_rpc = Ajax.getTransport(); var xmlhttp_rpc = Ajax.getTransport();
function parse_counters(reply, scheduled_call) { function parse_counters(reply, scheduled_call) {
try { try {
var f_document = getMainContext().frames["feeds-frame"].document; var f_document = getFeedsContext().document;
var title_obj = getMainContext(); var title_obj = getMainContext();
debug("F_DOC: " + f_document + ", T_OBJ: " + title_obj); debug("F_DOC: " + f_document + ", T_OBJ: " + title_obj);
@ -511,13 +522,7 @@ function all_counters_callback() {
return; return;
} }
if (!parent.frames["feeds-frame"]) {
notify("[all_counters_callback] no parent feeds-frame");
return;
}
var reply = xmlhttp_rpc.responseXML.firstChild; var reply = xmlhttp_rpc.responseXML.firstChild;
// var f_document = parent.frames["feeds-frame"].document;
parse_counters(reply); parse_counters(reply);
@ -1030,7 +1035,7 @@ function qafAdd() {
closeInfoBox(); closeInfoBox();
var feeds_doc = window.frames["feeds-frame"].document; var feeds_doc = getFeedsContext().document;
feeds_doc.location.href = "backend.php?op=error&msg=Loading,%20please wait..."; feeds_doc.location.href = "backend.php?op=error&msg=Loading,%20please wait...";
@ -1064,6 +1069,14 @@ function getMainContext() {
} }
} }
function getFeedsContext() {
try {
return getMainContext().frames["feeds-frame"];
} catch (e) {
exception_error("getFeedsContext", e);
}
}
function debug(msg) { function debug(msg) {
var ctx = getMainContext(); var ctx = getMainContext();
@ -1080,4 +1093,17 @@ function debug(msg) {
} }
} }
function getInitParam(key) {
return getMainContext().init_params[key];
}
// TODO: batch mode
function storeInitParam(key, value) {
try {
getMainContext().init_params[key] = value;
new Ajax.Request("backend.php?op=rpc&subop=storeParam&key=" +
param_escape(key) + "&value=" + param_escape(value));
} catch (e) {
exception_error("storeInitParam", e);
}
}

View File

@ -47,9 +47,6 @@
$_SESSION["cookie_lifetime"] = time() + SESSION_COOKIE_LIFETIME; $_SESSION["cookie_lifetime"] = time() + SESSION_COOKIE_LIFETIME;
} }
setcookie("ttrss_cltime", $_SESSION["cookie_lifetime"],
$_SESSION["cookie_lifetime"]);
if (!$return_to) { if (!$return_to) {
$return_to = "tt-rss.php"; $return_to = "tt-rss.php";
} }

View File

@ -10,6 +10,7 @@ var _qfd_deleted_feed = 0;
var firsttime_update = true; var firsttime_update = true;
var last_refetch = 0; var last_refetch = 0;
var cookie_lifetime = 0; var cookie_lifetime = 0;
var active_feed_id = 0;
var xmlhttp = Ajax.getTransport(); var xmlhttp = Ajax.getTransport();
@ -430,8 +431,6 @@ function init_second_stage() {
cookie_lifetime = getCookie("ttrss_cltime"); cookie_lifetime = getCookie("ttrss_cltime");
delCookie("ttrss_vf_test"); delCookie("ttrss_vf_test");
setCookie("ttrss_vf_actfeed", "");
updateFeedList(false, false); updateFeedList(false, false);
document.onkeydown = hotkey_handler; document.onkeydown = hotkey_handler;
@ -594,16 +593,4 @@ function fatalError(code, message) {
} }
} }
function getInitParam(key) {
return init_params[key];
}
function storeInitParam(key, value) {
try {
init_params[key] = value;
new Ajax.Request("backend.php?op=rpc&subop=storeParam&key=" +
param_escape(key) + "&value=" + param_escape(value));
} catch (e) {
exception_error("storeInitParam", e);
}
}