From 719f42c54a45ab669a983964c1e8a6f75a4d4b02 Mon Sep 17 00:00:00 2001 From: Mate Bartus Date: Fri, 30 Oct 2015 15:46:39 +0100 Subject: [PATCH] [ticket/14044] Fix language selection data loss PHPBB3-14044 --- phpBB/phpbb/install/controller/helper.php | 1 + .../module/install_database/task/add_config_settings.php | 2 +- .../phpbb/install/module/install_finish/task/notify_user.php | 4 +++- .../install/module/obtain_data/task/obtain_board_data.php | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/phpBB/phpbb/install/controller/helper.php b/phpBB/phpbb/install/controller/helper.php index bfa9ec6238..fdb07d9c4a 100644 --- a/phpBB/phpbb/install/controller/helper.php +++ b/phpBB/phpbb/install/controller/helper.php @@ -204,6 +204,7 @@ class helper if ($lang !== null) { $this->language->set_user_language($lang, true); + $this->installer_config->set('user_language', $lang); } } diff --git a/phpBB/phpbb/install/module/install_database/task/add_config_settings.php b/phpBB/phpbb/install/module/install_database/task/add_config_settings.php index 25da36e01d..6fb03ff73d 100644 --- a/phpBB/phpbb/install/module/install_database/task/add_config_settings.php +++ b/phpBB/phpbb/install/module/install_database/task/add_config_settings.php @@ -233,7 +233,7 @@ class add_config_settings extends \phpbb\install\task_base SET username = '" . $this->db->sql_escape($this->install_config->get('admin_name')) . "', user_password='" . $this->password_manager->hash($this->install_config->get('admin_passwd')) . "', user_ip = '" . $this->db->sql_escape($user_ip) . "', - user_lang = '" . $this->db->sql_escape($this->install_config->get('language')) . "', + user_lang = '" . $this->db->sql_escape($this->install_config->get('user_language', 'en')) . "', user_email='" . $this->db->sql_escape($this->install_config->get('board_email')) . "', user_dateformat='" . $this->db->sql_escape($this->language->lang('default_dateformat')) . "', user_email_hash = " . $this->db->sql_escape(phpbb_email_hash($this->install_config->get('board_email'))) . ", diff --git a/phpBB/phpbb/install/module/install_finish/task/notify_user.php b/phpBB/phpbb/install/module/install_finish/task/notify_user.php index 1cbc27ab6a..2a8ee0f12e 100644 --- a/phpBB/phpbb/install/module/install_finish/task/notify_user.php +++ b/phpBB/phpbb/install/module/install_finish/task/notify_user.php @@ -104,12 +104,14 @@ class notify_user extends \phpbb\install\task_base $this->user->session_begin(); $this->user->setup('common'); + $this->language->set_default_language($this->config['default_lang']); + if ($this->config['email_enable']) { include ($this->phpbb_root_path . 'includes/functions_messenger.' . $this->php_ext); $messenger = new \messenger(false); - $messenger->template('installed', $this->language->get_used_language()); + $messenger->template('installed', $this->install_config->get('user_language', 'en')); $messenger->to($this->config['board_email'], $this->install_config->get('admin_name')); $messenger->anti_abuse_headers($this->config, $this->user); $messenger->assign_vars(array( diff --git a/phpBB/phpbb/install/module/obtain_data/task/obtain_board_data.php b/phpBB/phpbb/install/module/obtain_data/task/obtain_board_data.php index 0726cc449c..4e977981ce 100644 --- a/phpBB/phpbb/install/module/obtain_data/task/obtain_board_data.php +++ b/phpBB/phpbb/install/module/obtain_data/task/obtain_board_data.php @@ -126,7 +126,7 @@ class obtain_board_data extends \phpbb\install\task_base implements \phpbb\insta } // Use language because we only check this to be valid - $default_lang = $this->install_config->get('language', ''); + $default_lang = $this->install_config->get('user_language', 'en'); $langs = $this->language_helper->get_available_languages(); $lang_options = array();