コード例 #1
0
 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;
 }