Index: branches/5.2.x/core/units/helpers/user_helper.php =================================================================== diff -u -N -r15176 -r15374 --- branches/5.2.x/core/units/helpers/user_helper.php (.../user_helper.php) (revision 15176) +++ branches/5.2.x/core/units/helpers/user_helper.php (.../user_helper.php) (revision 15374) @@ -1,6 +1,6 @@ event->SetRedirectParam('m_lang', $language_id); // data $this->Application->Session->SetField('Language', $language_id); // interface + + // set language for Front-End with enabled Mod-Rewrite + if ( MOD_REWRITE ) { + $this->_injectLanguageIntoUrl($language_id); + } } /** + * Inject language into whatever page user wants to go after login + * + * @param int $language_id + * @return void + * @access protected + */ + protected function _injectLanguageIntoUrl($language_id) + { + $url = $this->Application->HREF($this->event->redirect, '', $this->event->getRedirectParams(), $this->event->redirectScript); + $vars = $this->Application->parseRewriteUrl($url, 'pass'); + + $vars['pass'] = implode(',', $vars['pass']); + $vars['m_lang'] = $language_id; + $template = $vars['t']; + unset($vars['is_virtual'], $vars['t']); + + $this->event->redirect = $template; + $this->event->setRedirectParams($vars, false); + } + + /** * Checks that user is allowed to use super admin mode * * @return bool