middleware('guest')->except('logout'); } public function index() { return view('front.basic.login'); } public function authenticate(Request $request) { $email = $request->email; $password = $request->password; $remember = $request->remember !== null ? true : false; $userLocal = User::where('email', $email)->first(); if ($userLocal) { if ($userLocal->email_verified === 1) { if ($userLocal->role !== 1) { try { $cpcConnect = new CPCConnection(config('crm.CRM_PLATOS_WSDL'), config('crm.WS_SERVCE_LOGIN'), config('crm.WS_SERVCE_PASSWORD')); $cpcConnect->connect(); try { // ---- Authentification du user // En attendant la mise à jour de la crm, on envoi un mot de passe bidon (le même qu'a l'inscription) $cpcConnect->authenticateUser ($email, 'MOTDEPASSE'); } catch (Exception $e) { return redirect()->back()->withInput($request->only("email", "password"))->withErrors("Email ou mot de passe incorrect."); } } catch (Exception $e) { return redirect()->back()->withInput($request->only("email", "password"))->withErrors("La connexion est impossible pour le moment, veuillez réessayer plus tard."); die(); } } } else { $userLocal->email_verify_token = Str::uuid(); $userLocal->save(); Mail::to($email)->send(new VerifyEmail($userLocal)); return redirect()->back()->withInput($request->only("email", "password"))->withErrors("Votre compte éxiste mais votre email n'est pas confirmer, merci de vérifier vos emails."); } if (Auth::attempt(["email" => $email, "password" => $password], $remember)) { if ($userLocal->role === 1) return redirect()->route('bo.dashboard'); return redirect()->route('home'); } else { return redirect()->back()->withInput($request->only('email', 'remember'))->withErrors('Les identifiants entrés sont incorrects.'); } } else { return redirect()->back()->withInput($request->only('email', 'remember'))->withErrors('Les identifiants entrés sont incorrects.'); } } public function logout() { Auth::logout(); return redirect()->route('home'); } public function confirmEmail($verifyToken) { $result = false; $resendButton = false; $user = User::where('email_verify_token', $verifyToken)->first(); if (!$user) return view('front.basic.confirm-email', compact('result')); $user->email_verified = 1; $user->save(); $result = true; return view('front.basic.confirm-email', compact('result')); } }