private function build_form(HTTPRequestCustom $request) { $config = ShoutboxConfig::load(); $formatter = AppContext::get_content_formatting_service()->get_default_factory(); $formatter->set_forbidden_tags($config->get_forbidden_formatting_tags()); $form = new HTMLForm(__CLASS__); $fieldset = new FormFieldsetHTML('message', $this->is_new_message ? $this->lang['shoutbox.add'] : $this->lang['shoutbox.edit']); $form->add_fieldset($fieldset); if (!AppContext::get_current_user()->check_level(User::MEMBER_LEVEL)) { $fieldset->add_field(new FormFieldTextEditor('pseudo', LangLoader::get_message('form.name', 'common'), $this->get_message()->get_login(), array('required' => true, 'maxlength' => 25))); } $fieldset->add_field(new FormFieldRichTextEditor('contents', LangLoader::get_message('message', 'main'), $this->get_message()->get_contents(), array('formatter' => $formatter, 'rows' => 10, 'cols' => 47, 'required' => true), array(new FormFieldConstraintMaxLinks($config->get_max_links_number_per_message(), true), new FormFieldConstraintAntiFlood(ShoutboxService::get_last_message_timestamp_from_user($this->get_message()->get_author_user()->get_id()))))); $fieldset->add_field(new FormFieldHidden('page', $request->get_getint('page', 1))); $this->submit_button = new FormButtonDefaultSubmit(); $form->add_button($this->submit_button); $form->add_button(new FormButtonReset()); $this->form = $form; }