private function build_form()
 {
     $this->form = new HTMLForm('continueForm', '', false);
     $action_fieldset = new FormFieldsetSubmit('actions');
     $back = new FormButtonLinkCssImg($this->lang['step.previous'], InstallUrlBuilder::license(), 'fa fa-arrow-left');
     $action_fieldset->add_element($back);
     $refresh = new FormButtonLinkCssImg($this->lang['folders.chmod.refresh'], InstallUrlBuilder::server_configuration()->rel(), 'fa fa-refresh');
     $action_fieldset->add_element($refresh);
     $this->submit = new FormButtonSubmitCssImg($this->lang['step.next'], 'fa fa-arrow-right', 'server');
     $action_fieldset->add_element($this->submit);
     $this->form->add_fieldset($action_fieldset);
 }
 private function handle_form()
 {
     if ($this->form->validate()) {
         AppContext::get_response()->redirect(InstallUrlBuilder::server_configuration());
     }
 }
 private function build_form()
 {
     $this->form = new HTMLForm('databaseForm', '', false);
     $fieldset_server = new FormFieldsetHTML('serverConfig', $this->lang['dbms.parameters']);
     $this->form->add_fieldset($fieldset_server);
     $host = new FormFieldTextEditor('host', $this->lang['dbms.host'], 'localhost', array('description' => $this->lang['dbms.host.explanation'], 'required' => $this->lang['db.required.host']));
     $fieldset_server->add_field($host);
     $port = new FormFieldTextEditor('port', $this->lang['dbms.port'], '3306', array('description' => $this->lang['dbms.port.explanation'], 'required' => $this->lang['db.required.port']));
     $port->add_constraint(new FormFieldConstraintIntegerRange(1, 65536));
     $fieldset_server->add_field($port);
     $login = new FormFieldTextEditor('login', $this->lang['dbms.login'], 'root', array('description' => $this->lang['dbms.login.explanation'], 'required' => $this->lang['db.required.login']));
     $fieldset_server->add_field($login);
     $password = new FormFieldPasswordEditor('password', $this->lang['dbms.password'], '', array('description' => $this->lang['dbms.password.explanation']));
     $fieldset_server->add_field($password);
     $fieldset_schema = new FormFieldsetHTML('schemaConfig', $this->lang['schema.properties']);
     $this->form->add_fieldset($fieldset_schema);
     $schema = new FormFieldTextEditor('schema', $this->lang['schema'], '', array('description' => $this->lang['schema.explanation'], 'required' => $this->lang['db.required.schema']), array(new FormFieldConstraintRegex('`^[a-z0-9_-]+$`i')));
     $schema->add_event('change', '$FFS(\'overwriteFieldset\').disable()');
     $fieldset_schema->add_field($schema);
     $tables_prefix = new FormFieldTextEditor('tablesPrefix', $this->lang['schema.tablePrefix'], 'phpboost_', array('description' => $this->lang['schema.tablePrefix.explanation'], 'required' => true), array(new FormFieldConstraintRegex('`^[a-z0-9_]+$`i')));
     $fieldset_schema->add_field($tables_prefix);
     $this->overwrite_fieldset = new FormFieldsetHTML('overwriteFieldset', $this->lang['phpboost.alreadyInstalled']);
     $this->form->add_fieldset($this->overwrite_fieldset);
     $overwrite_message = new FormFieldHTML('', $this->lang['phpboost.alreadyInstalled.explanation']);
     $this->overwrite_fieldset->add_field($overwrite_message);
     $this->overwrite_field = new FormFieldCheckbox('overwrite', $this->lang['phpboost.alreadyInstalled.overwrite'], false, array('required' => $this->lang['phpboost.alreadyInstalled.overwrite.confirm']));
     $this->overwrite_fieldset->add_field($this->overwrite_field);
     $this->overwrite_fieldset->disable();
     $action_fieldset = new FormFieldsetSubmit('actions');
     $back = new FormButtonLinkCssImg($this->lang['step.previous'], InstallUrlBuilder::server_configuration(), 'fa fa-arrow-left');
     $action_fieldset->add_element($back);
     $check = new FormButtonSubmitCssImg($this->lang['db.config.check'], 'fa fa-refresh', 'database');
     $action_fieldset->add_element($check);
     $this->submit_button = new FormButtonSubmitCssImg($this->lang['step.next'], 'fa fa-arrow-right', 'database');
     $action_fieldset->add_element($this->submit_button);
     $this->form->add_fieldset($action_fieldset);
 }