コード例 #1
0
    private function build_form()
    {
        $admin_user_lang = LangLoader::get('admin-user-common');
        $this->form = new HTMLForm('websiteForm', '', false);
        $fieldset = new FormFieldsetHTML('yourSite', $this->lang['website.yours']);
        $this->form->add_fieldset($fieldset);
        $host = new FormFieldUrlEditor('host', $this->lang['website.host'], $this->current_server_host(), array('description' => $this->lang['website.host.explanation'], 'required' => $this->lang['website.host.required']));
        $host->add_event('change', $this->warning_if_not_equals($host, $this->lang['website.host.warning']));
        $fieldset->add_field($host);
        $path = new FormFieldTextEditor('path', $this->lang['website.path'], $this->current_server_path(), array('description' => $this->lang['website.path.explanation']));
        $path->add_event('change', $this->warning_if_not_equals($path, $this->lang['website.path.warning']));
        $fieldset->add_field($path);
        $fieldset->add_field(new FormFieldTextEditor('name', $this->lang['website.name'], '', array('required' => $this->lang['website.name.required'])));
        $fieldset->add_field(new FormFieldTextEditor('slogan', $this->lang['website.slogan'], ''));
        $fieldset->add_field(new FormFieldMultiLineTextEditor('description', $this->lang['website.description'], '', array('description' => $this->lang['website.description.explanation'])));
        $fieldset->add_field(new FormFieldTimezone('timezone', $this->lang['website.timezone'], 'Europe/Paris', array('description' => $this->lang['website.timezone.explanation'])));
        $fieldset = new FormFieldsetHTML('security_config', $admin_user_lang['members.config-security']);
        $this->form->add_fieldset($fieldset);
        $fieldset->add_field(new FormFieldNumberEditor('internal_password_min_length', $admin_user_lang['security.config.internal-password-min-length'], $this->security_config->get_internal_password_min_length(), array('min' => 6, 'max' => 30), array(new FormFieldConstraintRegex('`^[0-9]+$`i'), new FormFieldConstraintIntegerRange(6, 30))));
        $fieldset->add_field(new FormFieldSimpleSelectChoice('internal_password_strength', $admin_user_lang['security.config.internal-password-strength'], $this->security_config->get_internal_password_strength(), array(new FormFieldSelectChoiceOption($admin_user_lang['security.config.internal-password-strength.weak'], SecurityConfig::PASSWORD_STRENGTH_WEAK), new FormFieldSelectChoiceOption($admin_user_lang['security.config.internal-password-strength.medium'], SecurityConfig::PASSWORD_STRENGTH_MEDIUM), new FormFieldSelectChoiceOption($admin_user_lang['security.config.internal-password-strength.strong'], SecurityConfig::PASSWORD_STRENGTH_STRONG))));
        $fieldset->add_field(new FormFieldCheckbox('login_and_email_forbidden_in_password', $admin_user_lang['security.config.login-and-email-forbidden-in-password'], $this->security_config->are_login_and_email_forbidden_in_password()));
        if ($this->server_configuration->has_curl_library()) {
            $fieldset = new FormFieldsetHTML('authentication_config', $admin_user_lang['members.config-authentication']);
            $this->form->add_fieldset($fieldset);
            $fieldset->add_field(new FormFieldCheckbox('fb_auth_enabled', $admin_user_lang['authentication.config.fb-auth-enabled'], $this->authentication_config->is_fb_auth_enabled(), array('description' => $admin_user_lang['authentication.config.fb-auth-enabled-explain'], 'events' => array('click' => '
					if (HTMLForms.getField("fb_auth_enabled").getValue()) { 
						HTMLForms.getField("fb_app_id").enable(); 
						HTMLForms.getField("fb_app_key").enable(); 
					} else { 
						HTMLForms.getField("fb_app_id").disable(); 
						HTMLForms.getField("fb_app_key").disable(); 
					}'))));
            $fieldset->add_field(new FormFieldTextEditor('fb_app_id', $admin_user_lang['authentication.config.fb-app-id'], $this->authentication_config->get_fb_app_id(), array('required' => true, 'hidden' => !$this->authentication_config->is_fb_auth_enabled())));
            $fieldset->add_field(new FormFieldPasswordEditor('fb_app_key', $admin_user_lang['authentication.config.fb-app-key'], $this->authentication_config->get_fb_app_key(), array('required' => true, 'hidden' => !$this->authentication_config->is_fb_auth_enabled())));
            $fieldset->add_field(new FormFieldCheckbox('google_auth_enabled', $admin_user_lang['authentication.config.google-auth-enabled'], $this->authentication_config->is_google_auth_enabled(), array('description' => $admin_user_lang['authentication.config.google-auth-enabled-explain'], 'events' => array('click' => '
					if (HTMLForms.getField("google_auth_enabled").getValue()) { 
						HTMLForms.getField("google_client_id").enable(); 
						HTMLForms.getField("google_client_secret").enable(); 
					} else { 
						HTMLForms.getField("google_client_id").disable(); 
						HTMLForms.getField("google_client_secret").disable(); 
					}'))));
            $fieldset->add_field(new FormFieldTextEditor('google_client_id', $admin_user_lang['authentication.config.google-client-id'], $this->authentication_config->get_google_client_id(), array('required' => true, 'hidden' => !$this->authentication_config->is_google_auth_enabled())));
            $fieldset->add_field(new FormFieldPasswordEditor('google_client_secret', $admin_user_lang['authentication.config.google-client-secret'], $this->authentication_config->get_google_client_secret(), array('required' => true, 'hidden' => !$this->authentication_config->is_google_auth_enabled())));
        }
        $action_fieldset = new FormFieldsetSubmit('actions');
        $back = new FormButtonLinkCssImg($this->lang['step.previous'], InstallUrlBuilder::database(), 'fa fa-arrow-left');
        $action_fieldset->add_element($back);
        $this->submit_button = new FormButtonSubmitCssImg($this->lang['step.next'], 'fa fa-arrow-right', 'website');
        $action_fieldset->add_element($this->submit_button);
        $this->form->add_fieldset($action_fieldset);
    }
コード例 #2
0
 private function handle_form()
 {
     if ($this->server_conf->is_php_compatible() && PHPBoostFoldersPermissions::validate()) {
         AppContext::get_response()->redirect(InstallUrlBuilder::database());
     }
 }