initial commit
This commit is contained in:
		
							
								
								
									
										59
									
								
								app/Actions/Fortify/UpdateUserProfileInformation.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								app/Actions/Fortify/UpdateUserProfileInformation.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace App\Actions\Fortify; | ||||
| 
 | ||||
| use Illuminate\Contracts\Auth\MustVerifyEmail; | ||||
| use Illuminate\Support\Facades\Validator; | ||||
| use Illuminate\Validation\Rule; | ||||
| use Laravel\Fortify\Contracts\UpdatesUserProfileInformation; | ||||
| 
 | ||||
| class UpdateUserProfileInformation implements UpdatesUserProfileInformation | ||||
| { | ||||
|     /** | ||||
|      * Validate and update the given user's profile information. | ||||
|      * | ||||
|      * @param  mixed  $user | ||||
|      * @param  array  $input | ||||
|      * @return void | ||||
|      */ | ||||
|     public function update($user, array $input) | ||||
|     { | ||||
|         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 && | ||||
|             $user instanceof MustVerifyEmail) { | ||||
|             $this->updateVerifiedUser($user, $input); | ||||
|         } else { | ||||
|             $user->forceFill([ | ||||
|                 'name' => $input['name'], | ||||
|                 'email' => $input['email'], | ||||
|             ])->save(); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Update the given verified user's profile information. | ||||
|      * | ||||
|      * @param  mixed  $user | ||||
|      * @param  array  $input | ||||
|      * @return void | ||||
|      */ | ||||
|     protected function updateVerifiedUser($user, array $input) | ||||
|     { | ||||
|         $user->forceFill([ | ||||
|             'name' => $input['name'], | ||||
|             'email' => $input['email'], | ||||
|             'email_verified_at' => null, | ||||
|         ])->save(); | ||||
| 
 | ||||
|         $user->sendEmailVerificationNotification(); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user