| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | 
							- <?php
 - 
 - namespace App\Actions\FilamentCompanies;
 - 
 - use App\Models\User;
 - use Illuminate\Contracts\Auth\MustVerifyEmail;
 - use Illuminate\Support\Facades\Validator;
 - use Illuminate\Validation\Rule;
 - use Wallo\FilamentCompanies\Contracts\UpdatesUserProfileInformation;
 - 
 - class UpdateUserProfileInformation implements UpdatesUserProfileInformation
 - {
 -     /**
 -      * Validate and update the given user's profile information.
 -      *
 -      * @param  array<string, string>  $input
 -      */
 -     public function update(User $user, array $input): void
 -     {
 -         Validator::make($input, [
 -             'name' => ['required', 'string', 'max:255'],
 -             'email' => ['required', 'email', 'max:255', Rule::unique('users')->ignore($user->id)],
 -             'photo' => ['nullable', 'mimes:jpg,jpeg,png', 'max:1024'],
 -         ])->validateWithBag('updateProfileInformation');
 - 
 -         if (isset($input['photo'])) {
 -             $user->updateProfilePhoto($input['photo']);
 -         }
 - 
 -         if ($input['email'] !== $user->email &&
 -             $this->userMustVerifyEmail()) {
 -             $this->updateVerifiedUser($user, $input);
 -         } else {
 -             $user->forceFill([
 -                 'name' => $input['name'],
 -                 'email' => $input['email'],
 -             ])->save();
 -         }
 -     }
 - 
 -     /**
 -      * Determine if the user must verify their email address.
 -      */
 -     protected function userMustVerifyEmail(): bool
 -     {
 -         return in_array(MustVerifyEmail::class, class_implements(User::class));
 -     }
 - 
 -     /**
 -      * Update the given verified user's profile information.
 -      *
 -      * @param  array<string, string>  $input
 -      */
 -     protected function updateVerifiedUser(User $user, array $input): void
 -     {
 -         $user->forceFill([
 -             'name' => $input['name'],
 -             'email' => $input['email'],
 -             'email_verified_at' => null,
 -         ])->save();
 - 
 -         $user->sendEmailVerificationNotification();
 -     }
 - }
 
 
  |