Locale) { return $member->Locale; } return i18n::get_locale(); } public function setSource($source) { if ($source) { return parent::setSource($source); } // Get sorted countries $source = i18n::getData()->getCountries(); return parent::setSource($source); } public function Field($properties = array()) { $source = $this->getSource(); // Default value to best availabel locale $value = $this->Value(); if (CountryDropdownField::config()->default_to_locale && (!$value || !isset($source[$value])) && $this->locale() ) { $value = i18n::getData()->countryFromLocale(i18n::get_locale()); if ($value) { $this->setValue($value); } } // Default to default country otherwise if (!$value || !isset($source[$value])) { $this->setValue(CountryDropdownField::config()->default_country); } return parent::Field($properties); } }