move some cookies to init-params

This commit is contained in:
Andrew Dolgov 2006-05-23 06:34:50 +01:00
parent 3dd46f19db
commit 3ac2b52019
6 changed files with 76 additions and 14 deletions

View File

@ -186,10 +186,13 @@
}
if ($subop == "sanityCheck") {
print "<rpc-reply>";
if (sanity_check($link)) {
print "<error error-code=\"0\"/>";
print_init_params($link);
}
}
print "</rpc-reply>";
}
if ($subop == "globalPurge") {
@ -198,5 +201,11 @@
print "</rpc-reply>";
}
if ($subop == "storeParam") {
$key = $_GET["key"];
$value = $_GET["value"];
$_SESSION["stored-params"][$key] = $value;
}
}
?>

View File

@ -108,14 +108,14 @@
setcookie("ttrss_vf_hreadf", 0);
}
setcookie('ttrss_vf_refresh', FEEDS_FRAME_REFRESH);
setcookie('ttrss_vf_daemon', ENABLE_UPDATE_DAEMON);
// setcookie('ttrss_vf_refresh', FEEDS_FRAME_REFRESH);
// setcookie('ttrss_vf_daemon', ENABLE_UPDATE_DAEMON);
if (get_pref($link, "ON_CATCHUP_SHOW_NEXT_FEED")) {
/* if (get_pref($link, "ON_CATCHUP_SHOW_NEXT_FEED")) {
setcookie('ttrss_vf_catchupnext', 1);
} else {
setcookie('ttrss_vf_catchupnext', 0);
}
} */
}
$fetch = $_GET["fetch"];

View File

@ -42,8 +42,14 @@ function viewfeed(feed, skip, subop, doc, is_cat, subop_param) {
toolbar_form.query.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_limit", toolbar_form.limit[toolbar_form.limit.selectedIndex].value);
// setCookie("ttrss_vf_vmode", toolbar_form.view_mode[toolbar_form.view_mode.selectedIndex].value);
parent.storeInitParam("toolbar_limit",
toolbar_form.limit[toolbar_form.limit.selectedIndex].value);
parent.storeInitParam("toolbar_view_mode",
toolbar_form.view_mode[toolbar_form.view_mode.selectedIndex].value);
var query = "backend.php?op=viewfeed&feed=" + feed + "&" +
toolbar_query + "&subop=" + param_escape(subop);
@ -85,7 +91,9 @@ function viewfeed(feed, skip, subop, doc, is_cat, subop_param) {
var next_unread_feed = getRelativeFeedId(feedlist,
getActiveFeedId(), "next", true);
if (next_unread_feed && getCookie('ttrss_vf_catchupnext') == 1) {
var show_next_feed = parent.getInitParam("on_catchup_show_next_feed") == "1";
if (next_unread_feed && show_next_feed) {
query = query + "&nuf=" + param_escape(next_unread_feed);
setActiveFeedId(next_unread_feed);
}

View File

@ -1054,3 +1054,4 @@ function filterCR(e)
return true;
}

View File

@ -1688,4 +1688,22 @@
function get_session_cookie_name() {
return ((!defined('TTRSS_SESSION_NAME')) ? "ttrss_sid" : TTRSS_SESSION_NAME);
}
function print_init_params($link) {
print "<init-params>";
if ($_SESSION["stored-params"]) {
foreach (array_keys($_SESSION["stored-params"]) as $key) {
$value = htmlspecialchars($_SESSION["stored-params"][$key]);
print "<param key=\"$key\" value=\"$value\"/>";
}
}
print "<param key=\"daemon_enabled\" value=\"" . ENABLE_UPDATE_DAEMON . "\"/>";
print "<param key=\"feeds_frame_refresh\" value=\"" . FEEDS_FRAME_REFRESH . "\"/>";
print "<param key=\"on_catchup_show_next_feed\" value=\"" .
get_pref($link, "ON_CATCHUP_SHOW_NEXT_FEED") . "\"/>";
print "</init-params>";
}
?>

View File

@ -13,6 +13,8 @@ var cookie_lifetime = 0;
var xmlhttp = Ajax.getTransport();
var init_params = new Array();
function toggleTags() {
display_tags = !display_tags;
@ -123,7 +125,7 @@ function backend_sanity_check_callback() {
return;
}
var reply = xmlhttp.responseXML.firstChild;
var reply = xmlhttp.responseXML.firstChild.firstChild;
if (!reply) {
fatalError(3, "[D002, Invalid RPC reply]: " + xmlhttp.responseText);
@ -138,6 +140,21 @@ function backend_sanity_check_callback() {
debug("sanity check ok");
var params = reply.nextSibling;
if (params) {
debug('reading init-params...');
var param = params.firstChild;
while (param) {
var k = param.getAttribute("key");
var v = param.getAttribute("value");
debug(k + " => " + v);
init_params[k] = v;
param = param.nextSibling;
}
}
init_second_stage();
} catch (e) {
@ -259,9 +276,9 @@ function viewfeed(feed, skip, subop) {
function timeout() {
scheduleFeedUpdate(false);
var refresh_time = getCookie('ttrss_vf_refresh');
var refresh_time = getInitParam("feeds_frame_refresh");
if (!refresh_time) refresh_time = 600;
if (!refresh_time) refresh_time = 600;
setTimeout("timeout()", refresh_time*1000);
}
@ -423,10 +440,10 @@ function init_second_stage() {
var tb = parent.document.forms["main_toolbar_form"];
dropboxSelect(tb.view_mode, getCookie("ttrss_vf_vmode"));
dropboxSelect(tb.limit, getCookie("ttrss_vf_limit"));
dropboxSelect(tb.view_mode, getInitParam("toolbar_view_mode"));
dropboxSelect(tb.limit, getInitParam("toolbar_limit"));
daemon_enabled = getCookie("ttrss_vf_daemon");
daemon_enabled = getInitParam("daemon_enabled");
// FIXME should be callled after window resize
@ -592,3 +609,12 @@ function fatalError(code, message) {
exception_error("fatalError", e);
}
}
function getInitParam(key) {
return init_params[key];
}
function storeInitParam(key, value) {
new Ajax.Request("backend.php?op=rpc&subop=storeParam&key=" +
param_escape(key) + "&value=" + param_escape(value));
}