$input */ public function update(User $user, array $input): void { Validator::make($input, [ 'first_name' => ['required', 'string', 'max:255'], 'last_name' => ['required', 'string', 'max:255'], 'judging_preference' => ['required', 'string', 'max:255'], 'cell_phone' => ['required', 'string', 'max:255'], 'email' => [ 'required', 'string', 'email', 'max:255', Rule::unique('users')->ignore($user->id), ], ])->validate(); if ($input['email'] !== $user->email && $user instanceof MustVerifyEmail) { $this->updateVerifiedUser($user, $input); } else { $user->forceFill([ 'first_name' => $input['first_name'], 'last_name' => $input['last_name'], 'judging_preference' => $input['judging_preference'], 'cell_phone' => $input['cell_phone'], 'email' => $input['email'], ])->save(); } $message = 'Updated user #'.$user->id.' - '.$user->email .'
Name: '.$user->full_name() .'
Judging Pref: '.$user->judging_preference .'
Cell Phone: '.$user->cell_phone; AuditLogEntry::create([ 'user' => auth()->user()->email, 'ip_address' => request()->ip(), 'message' => $message, 'affected' => ['users' => [$user->id]], ]); } /** * Update the given verified user's profile information. * * @param array $input */ protected function updateVerifiedUser(User $user, array $input): void { $oldEmail = $user->email; $user->forceFill([ 'first_name' => $input['first_name'], 'last_name' => $input['last_name'], 'judging_preference' => $input['judging_preference'], 'cell_phone' => $input['cell_phone'], 'email' => $input['email'], 'email_verified_at' => null, ])->save(); $user->refresh(); $message = 'Updated user #'.$user->id.' - '.$oldEmail .'
Name: '.$user->full_name() .'
Email: '.$user->email .'
Judging Pref: '.$user->judging_preference .'
Cell Phone: '.$user->cell_phone; AuditLogEntry::create([ 'user' => auth()->user()->email, 'ip_address' => request()->ip(), 'message' => $message, 'affected' => ['users' => [$user->id]], ]); $user->sendEmailVerificationNotification(); } }