Index: branches/5.2.x/core/units/languages/languages_item.php =================================================================== diff -u -N -r15252 -r15545 --- branches/5.2.x/core/units/languages/languages_item.php (.../languages_item.php) (revision 15252) +++ branches/5.2.x/core/units/languages/languages_item.php (.../languages_item.php) (revision 15545) @@ -1,6 +1,6 @@ 'm' ); + $this->_addLoginState($url_params); $exception = new kRedirectException('Redirect into language ID = ' . $language_id . ' according to "Accepted-Language" header "' . $_SERVER['HTTP_ACCEPT_LANGUAGE'] . '"'); $exception->setup('', $url_params); @@ -263,6 +264,26 @@ } /** + * Pass login state variables into new language url + * + * @param $url_params + * @return void + * @access protected + */ + protected function _addLoginState(&$url_params) + { + $pass_along = Array ('login', 'logout'); + + foreach ($pass_along as $pass_along_name) { + $pass_along_value = $this->Application->GetVar($pass_along_name); + + if ( $pass_along_value !== false ) { + $url_params[$pass_along_name] = $pass_along_value; + } + } + } + + /** * Checks, that language is enabled in site domain * * @param int $id