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]); }
/** * 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(); }