summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/locale.inc9
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.