summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Staudacher <andy.st@gmail.com>2009-09-04 11:17:11 -0700
committerAndy Staudacher <andy.st@gmail.com>2009-09-04 11:17:11 -0700
commit75e99c9ea33fa5723dec9a2f5250e8bb38755718 (patch)
tree5db54e8574aa22fc21925867e04f95b53bcac516
parent001623c755777846a468255d4396d30b253dcdfb (diff)
When changing user preferences, reset the session based locale preferences.
-rw-r--r--modules/user/controllers/users.php7
1 files changed, 6 insertions, 1 deletions
diff --git a/modules/user/controllers/users.php b/modules/user/controllers/users.php
index 0bf2e81d..4ad704f0 100644
--- a/modules/user/controllers/users.php
+++ b/modules/user/controllers/users.php
@@ -36,7 +36,12 @@ class Users_Controller extends REST_Controller {
$user->url = $form->edit_user->url->value;
if ($form->edit_user->locale) {
$desired_locale = $form->edit_user->locale->value;
- $user->locale = $desired_locale == "none" ? null : $desired_locale;
+ $new_locale = $desired_locale == "none" ? null : $desired_locale;
+ if ($new_locale != $user->locale) {
+ // Delete the session based locale preference
+ setcookie("g_locale", "", time() - 24 * 3600, "/");
+ }
+ $user->locale = $new_locale;
}
$user->save();
module::event("user_edit_form_completed", $user, $form);