From f1f3a642d651c2120e52c8df2edc50dc72d0c756 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 5 Nov 2010 16:16:30 +0300 Subject: [PATCH] use JSON for init-params --- digest.js | 2 +- functions.js | 34 ++++++++------ functions.php | 126 ++++++++++++++++++++------------------------------ 3 files changed, 71 insertions(+), 91 deletions(-) diff --git a/digest.js b/digest.js index 98ae14d8..0bb1638a 100644 --- a/digest.js +++ b/digest.js @@ -326,7 +326,7 @@ function find_feed(feeds, feed_id) { function get_feed_icon(feed) { try { if (feed.has_icon) - return getInitParam('icons_location') + "/" + feed.id + '.ico'; + return getInitParam('icons_url') + "/" + feed.id + '.ico'; if (feed.id == -1) return 'images/mark_set.png'; diff --git a/functions.js b/functions.js index c0ba5b34..01c3c050 100644 --- a/functions.js +++ b/functions.js @@ -460,7 +460,7 @@ function parse_counters(reply, scheduled_call) { if (has_img && feed_img) { if (!feed_img.src.match(id + ".ico")) { - feed_img.src = getInitParam("icons_location") + "/" + id + ".ico"; + feed_img.src = getInitParam("icons_url") + "/" + id + ".ico"; } } @@ -2167,21 +2167,25 @@ function backend_sanity_check_callback(transport) { if (params) { console.log('reading init-params...'); - var param = params.firstChild; - - while (param) { - var k = param.getAttribute("key"); - var v = param.getAttribute("value"); - console.log(k + " => " + v); - init_params[k] = v; - - if (db) { - db.execute("DELETE FROM init_params WHERE key = ?", [k]); - db.execute("INSERT INTO init_params (key,value) VALUES (?, ?)", - [k, v]); - } + //var param = params.firstChild; + + params = JSON.parse(params.firstChild.nodeValue); - param = param.nextSibling; + if (params) { + for (var i = 0; i < params.length; i++) { + + var k = params[i].param; + var v = params[i].value; + + console.log(k + " => " + v); + init_params[k] = v; + + if (db) { + db.execute("DELETE FROM init_params WHERE key = ?", [k]); + db.execute("INSERT INTO init_params (key,value) VALUES (?, ?)", + [k, v]); + } + } } } diff --git a/functions.php b/functions.php index daa6ccf7..87a76e1d 100644 --- a/functions.php +++ b/functions.php @@ -2093,7 +2093,7 @@ } } } - return false; + return ''; } @@ -3130,107 +3130,83 @@ return ((!defined('TTRSS_SESSION_NAME')) ? "ttrss_sid" : TTRSS_SESSION_NAME); } - function print_init_params($link) { - print ""; - if ($_SESSION["stored-params"]) { - foreach (array_keys($_SESSION["stored-params"]) as $key) { - if ($key) { - $value = htmlspecialchars($_SESSION["stored-params"][$key]); - print ""; - } - } - } - - print ""; - print ""; - print ""; - print ""; - print ""; - - print ""; - - print ""; - - print ""; - - print ""; - - print ""; - - print ""; + function make_init_param($param, $value) { + return array("param" => $param, "value" => $value); + } - print ""; + function print_init_params($link) { + print ""; + $params = array(); - print ""; + array_push($params, make_init_param("theme", get_user_theme($link))); + array_push($params, make_init_param("theme_options", get_user_theme_options($link))); + array_push($params, make_init_param("daemon_enabled", ENABLE_UPDATE_DAEMON)); + array_push($params, make_init_param("feeds_frame_refresh", FEEDS_FRAME_REFRESH)); + array_push($params, make_init_param("daemon_refresh_only", true)); - print ""; + array_push($params, make_init_param("sign_progress", + theme_image($link, "images/indicator_white.gif"))); - print ""; + array_push($params, make_init_param("sign_progress_tiny", + theme_image($link, "images/indicator_white.gif"))); - print ""; + array_push($params, make_init_param("sign_excl", + theme_image($link, "images/sign_excl.png"))); - print ""; + array_push($params, make_init_param("sign_info", + theme_image($link, "images/sign_info.png"))); - print ""; + foreach (array("ON_CATCHUP_SHOW_NEXT_FEED", "HIDE_READ_FEEDS", + "ENABLE_FEED_CATS", "FEEDS_SORT_BY_UNREAD", "CONFIRM_FEED_CATCHUP", + "CDM_AUTO_CATCHUP", "FRESH_ARTICLE_MAX_AGE", + "HIDE_READ_SHOWS_SPECIAL", "HIDE_FEEDLIST") as $param) { - print ""; + array_push($params, make_init_param(strtolower($param), + (int) get_pref($link, $param))); + } - print ""; + array_push($params, make_init_param("icons_url", ICONS_URL)); - print ""; + array_push($params, make_init_param("cookie_lifetime", SESSION_COOKIE_LIFETIME)); - print ""; + array_push($params, make_init_param("default_view_mode", + get_pref($link, "_DEFAULT_VIEW_MODE"))); - print ""; + array_push($params, make_init_param("default_view_limit", + (int) get_pref($link, "_DEFAULT_VIEW_LIMIT"))); - print ""; + array_push($params, make_init_param("default_view_order_by", + get_pref($link, "_DEFAULT_VIEW_ORDER_BY"))); - print ""; + array_push($params, make_init_param("prefs_active_tab", + get_pref($link, "_PREFS_ACTIVE_TAB"))); - print ""; + array_push($params, make_init_param("infobox_disable_overlay", + get_pref($link, "_INFOBOX_DISABLE_OVERLAY"))); -// print ""; + array_push($params, make_init_param("bw_limit", + (int) $_SESSION["bw_limit"])); - print ""; + array_push($params, make_init_param("sync_counters", 1)); - print ""; + array_push($params, make_init_param("offline_enabled", + (int) get_pref($link, "ENABLE_OFFLINE_READING"))); $result = db_query($link, "SELECT COUNT(*) AS cf FROM ttrss_feeds WHERE owner_uid = " . $_SESSION["uid"]); $num_feeds = db_fetch_result($result, 0, "cf"); - print ""; + array_push($params, make_init_param("num_feeds", + (int) $num_feeds)); + + array_push($params, make_init_param("collapsed_feedlist", + (int) get_pref($link, "_COLLAPSED_FEEDLIST"))); - print ""; + print json_encode($params); - print ""; + print "]]>"; } function print_runtime_info($link) { -- 2.39.5