diff options
-rw-r--r-- | includes/locale.inc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/includes/locale.inc b/includes/locale.inc index 9c383210f..a7fe5d17e 100644 --- a/includes/locale.inc +++ b/includes/locale.inc @@ -126,9 +126,14 @@ function locale_language_from_user($languages) { function locale_language_from_session($languages) { $param = variable_get('locale_language_negotiation_session_param', 'language'); - // Request parameter. + // Request parameter: we need to update the session parameter only if we have + // an authenticated user. if (isset($_GET[$param]) && isset($languages[$langcode = $_GET[$param]])) { - return $_SESSION[$param] = $langcode; + global $user; + if ($user->uid) { + $_SESSION[$param] = $langcode; + } + return $langcode; } // Session parameter. |