$this->GOOGLE_ReCAPTCHA_KEY, 'user_shop' => Util::getUserShop(), 'mylangs' => Shop::getLangChange(), ]; return view('web.templates.kontakt', $data); } public function store() { $user_shop = Util::getUserShop(); $rules = array( 'salutation' => 'required', 'first_name' => 'required', 'last_name' => 'required', 'email' => 'required|email', 'message' => 'required', 'g-recaptcha-response' => 'required|recaptcha', 'accepted_data_protection' => 'required', ); if (!$user_shop || $user_shop->id === 22) { $rules['sales_partnership'] = 'required'; if (Request::get('sales_partnership') === 'JA') { $rules['sales_partnership_message'] = 'required'; } } Validator::extend('recaptcha', function ($attribute, $value, $parameters, $validator) { return $this->reCaptcha_validate($attribute, $value, $parameters, $validator); }); $validator = Validator::make(Request::all(), $rules); if ($validator->fails()) { return back()->withErrors($validator)->withInput(Request::all()); } $contact = []; $contact['salutation'] = Request::get('salutation'); $contact['first_name'] = Request::get('first_name'); $contact['last_name'] = Request::get('last_name'); $contact['email'] = Request::get('email'); $contact['phone'] = Request::get('phone'); $contact['message'] = Request::get('message'); if (!$user_shop){ $contact['sales_partnership'] = Request::get('sales_partnership'); $contact['sales_partnership_message'] = Request::get('sales_partnership_message'); } $contact_mail = config('app.contact_mail'); if($user_shop){ Mail::to($contact['email'])->bcc([$user_shop->user->email, $contact_mail])->locale(\App::getLocale())->send(new MailContact($contact)); }else{ Mail::to($contact['email'])->bcc($contact_mail)->locale(\App::getLocale())->send(new MailContact($contact)); } $data = [ 'user_shop' => Util::getUserShop(), 'mylangs' => Shop::getLangChange(), ]; return view('web.templates.contact-final', $data); } private function reCaptcha_validate($attribute, $value, $parameters, $validator) { $client = new Client(); $response = $client->post( 'https://www.google.com/recaptcha/api/siteverify', ['form_params' => [ 'secret' => $this->GOOGLE_ReCAPTCHA_SECRET, 'response' => $value ] ] ); $body = json_decode((string)$response->getBody()); return $body->success; } }