public function postEmail($profile_slug, Captcha $captcha, Request $request)
 {
     $user = $this->getPublicUserByProfileSlug($profile_slug);
     if (!$user->allow_profile_contact) {
         abort(404);
     }
     $this->validate($request, ['email' => 'required|email', 'name' => '', 'message' => 'required']);
     $captchaResponse = $captcha->check();
     if (!$captchaResponse->isValid()) {
         Log::error('Captcha error on public speaker profile page ' . $request->url() . '; reason: ' . $captchaResponse->getError());
         exit('You have not passed the captcha. Please try again.');
     }
     Mail::send('emails.public-profile-contact', ['email' => $request->get('email'), 'name' => $request->get('name'), 'userMessage' => $request->get('message')], function ($m) use($user) {
         $m->from('*****@*****.**', 'Symposium');
         $m->to($user->email, $user->name)->subject('Contact from your Symposium public profile page');
     });
     Session::flash('success-message', 'Message sent!');
     return redirect()->route('speakers-public.show', ['profile_slug' => $user->profile_slug]);
 }
示例#2
0
 /**
  * Check if submitted captcha is valid.
  *
  * @param \Captcha\Captcha $captcha Captcha instance.
  *
  * @return boolean
  */
 public static function isValid(\Captcha\Captcha $captcha)
 {
     return $captcha->check()->isValid();
 }