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); } }