Backend\Modules\Profiles\Actions\Edit::loadForm PHP Метод

loadForm() приватный Метод

Load the form
private loadForm ( )
    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->addCheckbox('new_email');
        $this->frm->addText('email', $this->profile['email']);
        $this->frm->addCheckbox('new_password');
        $this->frm->addPassword('password');
        $this->frm->addPassword('password_repeat');
        $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('');
    }