user()?->getAuthIdentifier() !== $user->getKey()) { abort(403); } $email = $request->query('email'); if (! is_string($email)) { abort(403); } $email = Str::lower($email); if ($user->pending_email !== $email) { abort(403); } $emailAlreadyInUse = User::query() ->where('email', '=', $email) ->where('is_placeholder', '=', false) ->whereKeyNot($user->getKey()) ->exists(); if ($emailAlreadyInUse) { return redirect(route('dashboard', [ 'bannerStyle' => 'danger', 'bannerText' => __('The email address is already in use.'), ])); } $user->email = $email; $user->pending_email = null; $user->email_verified_at = Carbon::now(); $user->save(); return redirect(route('dashboard', [ 'bannerStyle' => 'success', 'bannerText' => __('Your email address has been updated successfully.'), ])); } }