From e9d62f10a660338a3887162839997c79d719920f Mon Sep 17 00:00:00 2001 From: Roman Kelesidis Date: Fri, 9 Aug 2024 15:17:56 +0700 Subject: [PATCH] Demo mode: Save user language in cookies (#1584) * Updated * Update User.php * Update User.php * Update register.php * Update CHANGELOG.md --- CHANGELOG.md | 1 + library/includes/ucp/register.php | 9 ++++++++- src/Legacy/Common/User.php | 5 ++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a49462bf..8cf90cad3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ - [CLI] TorrentPier installer ☕️ [\#1576](https://github.com/torrentpier/torrentpier/pull/1576), [\#1582](https://github.com/torrentpier/torrentpier/pull/1582) ([belomaxorka](https://github.com/belomaxorka)) - Added some new HTML meta-tags [\#1562](https://github.com/torrentpier/torrentpier/pull/1562) ([belomaxorka](https://github.com/belomaxorka)) - Added showing releaser stats in profile [\#1568](https://github.com/torrentpier/torrentpier/pull/1568) ([belomaxorka](https://github.com/belomaxorka)) +- Demo mode: Save user language in cookies [\#1584](https://github.com/torrentpier/torrentpier/pull/1584) ([belomaxorka](https://github.com/belomaxorka)) - Fixed `md5()` deprecated in PHP 8.4 [\#1561](https://github.com/torrentpier/torrentpier/pull/1561) ([belomaxorka](https://github.com/belomaxorka)) - Increased `USEREMAIL_MAX_LENGTH` [\#1566](https://github.com/torrentpier/torrentpier/pull/1566) ([belomaxorka](https://github.com/belomaxorka)) - Minor improvements [\#1570](https://github.com/torrentpier/torrentpier/pull/1570), [\#1571](https://github.com/torrentpier/torrentpier/pull/1571), [\#1575](https://github.com/torrentpier/torrentpier/pull/1575) ([belomaxorka](https://github.com/belomaxorka)) diff --git a/library/includes/ucp/register.php b/library/includes/ucp/register.php index 5acd7eeed..79294f627 100644 --- a/library/includes/ucp/register.php +++ b/library/includes/ucp/register.php @@ -142,6 +142,9 @@ switch ($mode) { if (!$pr_data = DB()->fetch_row($sql)) { bb_die($lang['PROFILE_NOT_FOUND']); } + if (IN_DEMO_MODE && isset($_COOKIE['user_lang'])) { + $pr_data['user_lang'] = $_COOKIE['user_lang']; + } break; default: @@ -286,7 +289,11 @@ foreach ($profile_fields as $field => $can_edit) { $user_lang = isset($_POST['user_lang']) ? (string)$_POST['user_lang'] : $pr_data['user_lang']; if ($submit && ($user_lang != $pr_data['user_lang'] || $mode == 'register')) { $pr_data['user_lang'] = $user_lang; - $db_data['user_lang'] = $user_lang; + if (IN_DEMO_MODE) { + bb_setcookie('user_lang', $user_lang); + } else { + $db_data['user_lang'] = $user_lang; + } } break; diff --git a/src/Legacy/Common/User.php b/src/Legacy/Common/User.php index 0b4ebe7e8..33efa5cb2 100644 --- a/src/Legacy/Common/User.php +++ b/src/Legacy/Common/User.php @@ -472,7 +472,7 @@ class User public function set_session_cookies($user_id) { if ($user_id == GUEST_UID) { - $delete_cookies = [COOKIE_DATA, 'torhelp']; + $delete_cookies = [COOKIE_DATA, 'torhelp', 'user_lang']; foreach ($delete_cookies as $cookie) { if (isset($_COOKIE[$cookie])) { @@ -579,6 +579,9 @@ class User define('SOURCE_LANG_DIR', LANG_ROOT_DIR . '/source/'); if ($this->data['user_id'] != GUEST_UID) { + if (IN_DEMO_MODE && isset($_COOKIE['user_lang'])) { + $this->data['user_lang'] = $_COOKIE['user_lang']; + } if ($this->data['user_lang'] && $this->data['user_lang'] != $bb_cfg['default_lang']) { $bb_cfg['default_lang'] = basename($this->data['user_lang']); define('LANG_DIR', LANG_ROOT_DIR . '/' . $bb_cfg['default_lang'] . '/');