$emails]); } public function add(Request $request) { $dms = DomainNames::orderBy('utf8_name')->get(); return view('email-addresses.add', ['dms' => $dms]); } public function edit(Request $request) { $email_id = $request->id; $email = EmailAddresses::findOrFail($email_id); $dms = DomainNames::orderBy('utf8_name')->get(); return view('email-addresses.edit', ['email' => $email, 'dms' => $dms]); } public function update(Request $request) { $email_id = $request->id; $email = EmailAddresses::findOrFail($email_id); $this->makeChanges($request, $email); return redirect()->route('email-addresses.edit', ['id' => $email->id])->with('status', 'Sauvegardée !'); } public function store(Request $request) { $email = new EmailAddresses(); $this->makeChanges($request, $email); return redirect()->route('email-addresses.edit', ['id' => $email->id])->with('status', 'Sauvegardée !'); } public function delete(Request $request) { $email_id = $request->id; $email = EmailAddresses::findOrFail($email_id); return view('email-addresses.delete', ['email' => $email]); } public function forceDelete(Request $request) { $email_id = $request->id; $otp = $request->otp; $lastCode = (new Totp())->GenerateToken(Base32::decode(Auth::user()->totp_secret), Carbon::now()->subSeconds(30)->timestamp); $code = (new Totp())->GenerateToken(Base32::decode(Auth::user()->totp_secret)); if ($otp === $code || $otp === $lastCode) { $email = EmailAddresses::findOrFail($email_id); $email->delete(); return redirect()->route('email-addresses.index')->with('status', 'Adresse email supprimée !'); }else{ return redirect()->route('email-addresses.edit', ['id' => $email_id])->with('error', 'Code de vérification invalide.'); } } private function makeChanges($request, $email) { $account = $request->account; $password = $request->password; $domain_name_id = $request->d_n_id; $email->account = $account; $email->password = $password; $email->domain_name_id = $domain_name_id; $email->save(); } }