/**
* Load the form
*/
private function loadForm()
{
// gender dropdown values
$genderValues = array('male' => \SpoonFilter::ucfirst(BL::getLabel('Male')), 'female' => \SpoonFilter::ucfirst(BL::getLabel('Female')));
// birthdate dropdown values
$days = range(1, 31);
$months = \SpoonLocale::getMonths(BL::getInterfaceLanguage());
$years = range(date('Y'), 1900);
// get settings
$birthDate = BackendProfilesModel::getSetting($this->id, 'birth_date');
// get day, month and year
if ($birthDate) {
list($birthYear, $birthMonth, $birthDay) = explode('-', $birthDate);
} else {
// no birth date setting
$birthDay = '';
$birthMonth = '';
$birthYear = '';
}
// create form
$this->frm = new BackendForm('edit');
// create elements
$this->frm->addText('email', $this->profile['email']);
$this->frm->addPassword('password');
$this->frm->addText('display_name', $this->profile['display_name']);
$this->frm->addText('first_name', BackendProfilesModel::getSetting($this->id, 'first_name'));
$this->frm->addText('last_name', BackendProfilesModel::getSetting($this->id, 'last_name'));
$this->frm->addText('city', BackendProfilesModel::getSetting($this->id, 'city'));
$this->frm->addDropdown('gender', $genderValues, BackendProfilesModel::getSetting($this->id, 'gender'));
$this->frm->addDropdown('day', array_combine($days, $days), $birthDay);
$this->frm->addDropdown('month', $months, $birthMonth);
$this->frm->addDropdown('year', array_combine($years, $years), (int) $birthYear);
$this->frm->addDropdown('country', Intl::getRegionBundle()->getCountryNames(BL::getInterfaceLanguage()), BackendProfilesModel::getSetting($this->id, 'country'));
// set default elements dropdowns
$this->frm->getField('gender')->setDefaultElement('');
$this->frm->getField('day')->setDefaultElement('');
$this->frm->getField('month')->setDefaultElement('');
$this->frm->getField('year')->setDefaultElement('');
$this->frm->getField('country')->setDefaultElement('');
}