Esempio n. 1
0
 /**
  * 
  * Show/handle feedback form
  */
 public function showFeedback()
 {
     $form = new Form();
     $inputName = new InputText('name');
     $inputName->addValidator(new Validator());
     $form->addElement($inputName, 'Naam (verplicht)');
     $inputEmail = new InputText('email');
     $inputEmail->addValidator(new EmailValidator(false));
     $form->addElement($inputEmail, 'E-mailadres (niet verplicht)');
     $inputMessage = new TextArea('comment');
     $inputMessage->addValidator(new LengthValidator(true, 20, 1000));
     $form->addElement($inputMessage, 'Feedback (verplicht)');
     $this->assign('form', $form);
     $this->template = '/feedback/feedback.form.tpl';
     // Validate if this form has just been posted
     if ($form->isPosted()) {
         $form->validate();
         if ($form->getErrors()) {
             $this->assign('hasErrors', true);
             $this->assign('errors', $form->getErrors());
         } else {
             // Save feedback
             $oFeedback = new Feedback();
             $oFeedback->name = htmlentities($inputName->getValue());
             $oFeedback->email = htmlentities($inputEmail->getValue());
             $oFeedback->message = htmlentities($inputMessage->getValue());
             $oFeedback->ip = $_SERVER['REMOTE_ADDR'];
             $oFeedback->save();
             $this->assign('feedback', $oFeedback);
             $this->template = '/feedback/feedback.confirm.tpl';
         }
     }
     $this->assignSettings();
     $this->smarty->display('templates' . $this->template);
 }