public function NewEntryForm() { // Create fields $entry = new GuestbookEntry(); $labels = $entry->fieldLabels(); $fields = new FieldList(new TextField('Name', $labels['Name']), new EmailField('Email', $labels['Email']), TextField::create('Website', $labels['Website'])->setAttribute('type', 'url'), new TextareaField("Message", $labels['Message'])); if ($this->EnableEmoticons) { $smileyButtons = $this->SmileyButtons("Form_NewEntryForm_Message"); $smileyField = new LiteralField("Smileys", $smileyButtons); $fields->add($smileyField); } // Create actions $actions = new FieldList(new FormAction('postEntry', _t("GuestbookController.POST", 'Post'))); $validator = new RequiredFields('Name', 'Message'); $form = new Form($this, 'NewEntryForm', $fields, $actions, $validator); $form->setRedirectToFormOnValidationError(true); if ($this->UseSpamProtection) { if (Form::has_extension('FormSpamProtectionExtension')) { $form->enableSpamProtection(); } else { $message = _t('GuestbookController.SPAMPROTECTIONNOTINSTALLED', 'Spam protection has been enabled, but no spam protection module is installed!'); $form->setMessage($message, 'warning'); } } return $form; }