diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html
index 10c2738c1e..3ebded2d2b 100644
--- a/phpBB/docs/CHANGELOG.html
+++ b/phpBB/docs/CHANGELOG.html
@@ -253,6 +253,7 @@ p a {
[Fix] Use icon-unsubscribe in prosilver (Bug #12211)
[Fix] Seperated PREVIOUS/NEXT language vars for pagination and next/previous step (Bug #12197)
[Feature] append_sid() supporting anchor (Bug #11535) - patch provided by Schumi and ToonArmy
+ [Fix] Remember selected language while registering after submit (Bug #11435)
diff --git a/phpBB/includes/ucp/ucp_register.php b/phpBB/includes/ucp/ucp_register.php
index c1978f3723..513e27f503 100644
--- a/phpBB/includes/ucp/ucp_register.php
+++ b/phpBB/includes/ucp/ucp_register.php
@@ -34,26 +34,31 @@ class ucp_register
$agreed = (!empty($_POST['agreed'])) ? 1 : 0;
$submit = (isset($_POST['submit'])) ? true : false;
$change_lang = request_var('change_lang', '');
+ $user_lang = request_var('lang', $user->lang_name);
- if ($change_lang)
+ if ($change_lang || $user_lang != $config['default_lang'])
{
- $change_lang = basename($change_lang);
+ $use_lang = ($change_lang) ? basename($change_lang) : basename($user_lang);
- if (file_exists($phpbb_root_path . 'language/' . $change_lang . '/'))
+ if (file_exists($phpbb_root_path . 'language/' . $use_lang . '/'))
{
- $submit = false;
+ if ($change_lang)
+ {
+ $submit = false;
- $user->lang_name = $lang = $change_lang;
+ // Setting back agreed to let the user view the agreement in his/her language
+ $agreed = (empty($_GET['change_lang'])) ? 0 : $agreed;
+ }
+
+ $user->lang_name = $lang = $use_lang;
$user->lang_path = $phpbb_root_path . 'language/' . $lang . '/';
$user->lang = array();
$user->add_lang(array('common', 'ucp'));
-
- // Setting back agreed to let the user view the agreement in his/her language
- $agreed = (empty($_GET['change_lang'])) ? 0 : $agreed;
}
else
{
$change_lang = '';
+ $user_lang = $user->lang_name;
}
}