From 5feb78c04f59870eae9c49435c398b20543f463f Mon Sep 17 00:00:00 2001 From: Luke Hudson Date: Thu, 4 Mar 2010 22:59:03 +0000 Subject: [PATCH] BUGFIX: Set Member default Locale git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@100527 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- security/Member.php | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/security/Member.php b/security/Member.php index 45b2d1c35..6f89cb3bb 100755 --- a/security/Member.php +++ b/security/Member.php @@ -107,6 +107,15 @@ class Member extends DataObject { */ protected static $login_marker_cookie = null; + + /** + * Ensure the locale is set to something sensible by default. + */ + public function populateDefaults() { + parent::populateDefaults(); + $this->Locale = i18n::get_locale(); + } + /** * If this is called, then a session cookie will be set to "1" whenever a user * logs in. This lets 3rd party tools, such as apache's mod_rewrite, detect @@ -469,8 +478,7 @@ class Member extends DataObject { $fields->replaceField('Locale', new DropdownField ( 'Locale', $this->fieldLabel('Locale'), - i18n::get_existing_translations(), - (($this->Locale) ? $this->Locale : i18n::get_locale()) + i18n::get_existing_translations() )); $fields->removeByName('RememberLoginToken'); @@ -996,12 +1004,10 @@ class Member extends DataObject { 'Email' ); - $locale = ($this->Locale) ? $this->Locale : i18n::get_locale(); $mainFields->replaceField('Locale', new DropdownField( "Locale", _t('Member.INTERFACELANG', "Interface Language", PR_MEDIUM, 'Language of the CMS'), - i18n::get_existing_translations(), - $locale + i18n::get_existing_translations() )); $mainFields->removeByName('Bounced'); @@ -1682,5 +1688,6 @@ class Member_Validator extends RequiredFields { return $js; } + } ?> \ No newline at end of file