From 30b94fb19467c023cf299a2c37f5063e85c4bb18 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 2 Mar 2021 12:22:48 +0300 Subject: [PATCH] store widescreen mode setting in preferences instead of a cookie --- classes/prefs.php | 2 ++ classes/rpc.php | 10 ++++------ js/App.js | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/classes/prefs.php b/classes/prefs.php index e736ff7c8..24f0f7a80 100644 --- a/classes/prefs.php +++ b/classes/prefs.php @@ -59,6 +59,7 @@ class Prefs { const HEADLINES_NO_DISTINCT = "HEADLINES_NO_DISTINCT"; const DEBUG_HEADLINE_IDS = "DEBUG_HEADLINE_IDS"; const DISABLE_CONDITIONAL_COUNTERS = "DISABLE_CONDITIONAL_COUNTERS"; + const WIDESCREEN_MODE = "WIDESCREEN_MODE"; private const _DEFAULTS = [ Prefs::PURGE_OLD_DAYS => [ 60, Config::T_INT ], @@ -118,6 +119,7 @@ class Prefs { Prefs::HEADLINES_NO_DISTINCT => [ false, Config::T_BOOL ], Prefs::DEBUG_HEADLINE_IDS => [ false, Config::T_BOOL ], Prefs::DISABLE_CONDITIONAL_COUNTERS => [ false, Config::T_BOOL ], + Prefs::WIDESCREEN_MODE => [ false, Config::T_BOOL ], ]; const _PROFILE_BLACKLIST = [ diff --git a/classes/rpc.php b/classes/rpc.php index c158f0cf6..ebe29e5cb 100755 --- a/classes/rpc.php +++ b/classes/rpc.php @@ -235,14 +235,12 @@ class RPC extends Handler_Protected { //print json_encode(array("message" => "UPDATE_COUNTERS")); } - function setpanelmode() { + function setWidescreen() { $wide = (int) clean($_REQUEST["wide"]); - // FIXME should this use SESSION_COOKIE_LIFETIME and be renewed periodically? - setcookie("ttrss_widescreen", (string)$wide, - time() + 86400*365); + set_pref(Prefs::WIDESCREEN_MODE, $wide); - print json_encode(array("wide" => $wide)); + print json_encode(["wide" => $wide]); } static function updaterandomfeed_real() { @@ -471,7 +469,7 @@ class RPC extends Handler_Protected { $params["max_feed_id"] = (int) $max_feed_id; $params["num_feeds"] = (int) $num_feeds; $params["hotkeys"] = $this->get_hotkeys_map(); - $params["widescreen"] = (int) ($_COOKIE["ttrss_widescreen"] ?? 0); + $params["widescreen"] = (int) get_pref(Prefs::WIDESCREEN_MODE); $params['simple_update'] = Config::get(Config::SIMPLE_UPDATE_MODE); $params["icon_indicator_white"] = $this->image_to_base64("images/indicator_white.gif"); $params["labels"] = Labels::get_all($_SESSION["uid"]); diff --git a/js/App.js b/js/App.js index 8eda5ac9d..f792cf2e1 100644 --- a/js/App.js +++ b/js/App.js @@ -779,7 +779,7 @@ const App = { this.setLoadingProgress(50); this._widescreen_mode = this.getInitParam("widescreen"); - this.switchPanelMode(this._widescreen_mode); + this.setWidescreen(this._widescreen_mode); Headlines.initScrollHandler(); @@ -867,7 +867,7 @@ const App = { } } }, - switchPanelMode: function(wide) { + setWidescreen: function(wide) { const article_id = Article.getActive(); if (wide) { @@ -908,7 +908,7 @@ const App = { if (article_id) Article.view(article_id); - xhr.post("backend.php", {op: "rpc", method: "setpanelmode", wide: wide ? 1 : 0}); + xhr.post("backend.php", {op: "rpc", method: "setWidescreen", wide: wide ? 1 : 0}); }, initHotkeyActions: function() { if (this.is_prefs) { @@ -1168,7 +1168,7 @@ const App = { Cookie.set("ttrss_ci_width", 0); Cookie.set("ttrss_ci_height", 0); - this.switchPanelMode(this._widescreen_mode); + this.setWidescreen(this._widescreen_mode); } else { alert(__("Widescreen is not available in combined mode.")); } @@ -1258,7 +1258,7 @@ const App = { Cookie.set("ttrss_ci_width", 0); Cookie.set("ttrss_ci_height", 0); - this.switchPanelMode(this._widescreen_mode); + this.setWidescreen(this._widescreen_mode); } else { alert(__("Widescreen is not available in combined mode.")); }