diff options
author | Andrew Dolgov <[email protected]> | 2010-11-05 16:16:30 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2010-11-05 16:16:30 +0300 |
commit | f1f3a642d651c2120e52c8df2edc50dc72d0c756 (patch) | |
tree | 0604454f9c1878fcf88a58518b619a420eff65c5 | |
parent | 21884958060f9e21e45e1f8a27c05a5326545a69 (diff) |
use JSON for init-params
-rw-r--r-- | digest.js | 2 | ||||
-rw-r--r-- | functions.js | 34 | ||||
-rw-r--r-- | functions.php | 126 |
3 files changed, 71 insertions, 91 deletions
@@ -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 c0ba5b349..01c3c0508 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 daa6ccf75..87a76e1dd 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 "<init-params>"; - if ($_SESSION["stored-params"]) { - foreach (array_keys($_SESSION["stored-params"]) as $key) { - if ($key) { - $value = htmlspecialchars($_SESSION["stored-params"][$key]); - print "<param key=\"$key\" value=\"$value\"/>"; - } - } - } - - print "<param key=\"theme\" value=\"".get_user_theme($link)."\"/>"; - print "<param key=\"theme_options\" value=\"".get_user_theme_options($link)."\"/>"; - print "<param key=\"daemon_enabled\" value=\"" . ENABLE_UPDATE_DAEMON . "\"/>"; - print "<param key=\"feeds_frame_refresh\" value=\"" . FEEDS_FRAME_REFRESH . "\"/>"; - print "<param key=\"daemon_refresh_only\" value=\"true\"/>"; - - print "<param key=\"sign_progress\" value=\"". - theme_image($link, "images/indicator_white.gif")."\"/>"; - - print "<param key=\"sign_progress_tiny\" value=\"". - theme_image($link, "images/indicator_tiny.gif")."\"/>"; - - print "<param key=\"sign_excl\" value=\"". - theme_image($link, "images/sign_excl.png")."\"/>"; - - print "<param key=\"sign_info\" value=\"". - theme_image($link, "images/sign_info.png")."\"/>"; - - print "<param key=\"on_catchup_show_next_feed\" value=\"" . - get_pref($link, "ON_CATCHUP_SHOW_NEXT_FEED") . "\"/>"; - - print "<param key=\"hide_read_feeds\" value=\"" . - (int) get_pref($link, "HIDE_READ_FEEDS") . "\"/>"; + function make_init_param($param, $value) { + return array("param" => $param, "value" => $value); + } - print "<param key=\"enable_feed_cats\" value=\"" . - (int) get_pref($link, "ENABLE_FEED_CATS") . "\"/>"; + function print_init_params($link) { + print "<init-params><![CDATA["; - print "<param key=\"feeds_sort_by_unread\" value=\"" . - (int) get_pref($link, "FEEDS_SORT_BY_UNREAD") . "\"/>"; + $params = array(); - print "<param key=\"confirm_feed_catchup\" value=\"" . - (int) get_pref($link, "CONFIRM_FEED_CATCHUP") . "\"/>"; + 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 "<param key=\"cdm_auto_catchup\" value=\"" . - (int) get_pref($link, "CDM_AUTO_CATCHUP") . "\"/>"; + array_push($params, make_init_param("sign_progress", + theme_image($link, "images/indicator_white.gif"))); - print "<param key=\"fresh_article_max_age\" value=\"" . - (int) get_pref($link, "FRESH_ARTICLE_MAX_AGE") . "\"/>"; + array_push($params, make_init_param("sign_progress_tiny", + theme_image($link, "images/indicator_white.gif"))); - print "<param key=\"icons_url\" value=\"" . ICONS_URL . "\"/>"; + array_push($params, make_init_param("sign_excl", + theme_image($link, "images/sign_excl.png"))); - print "<param key=\"cookie_lifetime\" value=\"" . SESSION_COOKIE_LIFETIME . "\"/>"; + array_push($params, make_init_param("sign_info", + theme_image($link, "images/sign_info.png"))); - print "<param key=\"default_view_mode\" value=\"" . - get_pref($link, "_DEFAULT_VIEW_MODE") . "\"/>"; + 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 "<param key=\"default_view_limit\" value=\"" . - (int) get_pref($link, "_DEFAULT_VIEW_LIMIT") . "\"/>"; + array_push($params, make_init_param(strtolower($param), + (int) get_pref($link, $param))); + } - print "<param key=\"default_view_order_by\" value=\"" . - get_pref($link, "_DEFAULT_VIEW_ORDER_BY") . "\"/>"; + array_push($params, make_init_param("icons_url", ICONS_URL)); - print "<param key=\"prefs_active_tab\" value=\"" . - get_pref($link, "_PREFS_ACTIVE_TAB") . "\"/>"; + array_push($params, make_init_param("cookie_lifetime", SESSION_COOKIE_LIFETIME)); - print "<param key=\"infobox_disable_overlay\" value=\"" . - get_pref($link, "_INFOBOX_DISABLE_OVERLAY") . "\"/>"; + array_push($params, make_init_param("default_view_mode", + get_pref($link, "_DEFAULT_VIEW_MODE"))); - print "<param key=\"icons_location\" value=\"" . - ICONS_URL . "\"/>"; + array_push($params, make_init_param("default_view_limit", + (int) get_pref($link, "_DEFAULT_VIEW_LIMIT"))); - print "<param key=\"hide_read_shows_special\" value=\"" . - (int) get_pref($link, "HIDE_READ_SHOWS_SPECIAL") . "\"/>"; + array_push($params, make_init_param("default_view_order_by", + get_pref($link, "_DEFAULT_VIEW_ORDER_BY"))); - print "<param key=\"hide_feedlist\" value=\"" . - (int) get_pref($link, "HIDE_FEEDLIST") . "\"/>"; + array_push($params, make_init_param("prefs_active_tab", + get_pref($link, "_PREFS_ACTIVE_TAB"))); - print "<param key=\"bw_limit\" value=\"". - (int) $_SESSION["bw_limit"]."\"/>"; + array_push($params, make_init_param("infobox_disable_overlay", + get_pref($link, "_INFOBOX_DISABLE_OVERLAY"))); -// print "<param key=\"sync_counters\" value=\"" . -// (int) get_pref($link, "SYNC_COUNTERS") . "\"/>"; + array_push($params, make_init_param("bw_limit", + (int) $_SESSION["bw_limit"])); - print "<param key=\"sync_counters\" value=\"1\"/>"; + array_push($params, make_init_param("sync_counters", 1)); - print "<param key=\"offline_enabled\" value=\"". - (int) get_pref($link, "ENABLE_OFFLINE_READING") . "\"/>"; + 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 "<param key=\"num_feeds\" value=\"". - (int)$num_feeds. "\"/>"; + 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 "<param key=\"collapsed_feedlist\" value=\"" . - (int) get_pref($link, "_COLLAPSED_FEEDLIST") . "\"/>"; + print json_encode($params); - print "</init-params>"; + print "]]></init-params>"; } function print_runtime_info($link) { |