Beispiel #1
0
 public function postContactForm()
 {
     $fields = array('contact' => 'Contact Name', 'email' => 'E-Mail', 'Company' => false, 'phone' => false, 'TypeOfInquiry' => false, 'url' => false, 'Comment' => 'Comment', 'ImageField' => 'Security Code');
     $xtra = array('email' => 'email');
     $input = array();
     $validate = array();
     $rules = array();
     $errors = '';
     $valid = true;
     foreach ($fields as $field => $required) {
         $fdat = Input::get($field);
         $input[$field] = $fdat;
         if ($required) {
             $validate[$required] = $fdat;
             $rules[$required] = 'required' . (isset($xtra[$field]) ? '|' . $xtra[$field] : '');
         }
     }
     $validator = Validator::make($validate, $rules);
     if ($validator->fails()) {
         $valid = false;
         $messages = $validator->messages();
         foreach ($messages->all() as $emessage) {
             $errors .= '<br />' . $emessage;
         }
     }
     if ($input['ImageField'] && $input['ImageField'] != Session::get('captcha_val')) {
         $valid = false;
         $errors .= '<br />The Security Code is invalid.';
     }
     if ($valid) {
         $input['stamp'] = date('j/n/Y g:i:s A');
         $mail_data = array();
         $mail_template = MailTemplate::where('name', '=', 'contact_form')->first();
         $mail_data['body'] = Display::format($mail_template->content, $input);
         Mail::queue(array('text' => 'emails.generic'), $mail_data, function ($message) use($input, $mail_template) {
             $message->from($input['email'], $input['contact']);
             $message->to('*****@*****.**')->subject($mail_template->subject);
         });
         return Redirect::to('/contactRcvd');
     } else {
         return View::make('page.contact')->with('dat', $input)->with('captcha_random', $this->getCaptchaRandom())->with('error_text', $errors);
     }
 }