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