You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
		
		
		
		
		
			
		
			
				
					
					
						
							50 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							50 lines
						
					
					
						
							1.5 KiB
						
					
					
				| <?php | |
| 
 | |
| namespace App\Http\Controllers\Auth; | |
| 
 | |
| use App\Http\Controllers\Controller; | |
| use App\Models\User; | |
| use App\Utils\Mail; | |
| use App\Utils\Token; | |
| use Illuminate\Http\RedirectResponse; | |
| use Illuminate\Http\Request; | |
| use Illuminate\Support\Facades\DB; | |
| use Illuminate\Support\Facades\Password; | |
| use Illuminate\Validation\ValidationException; | |
| use Inertia\Inertia; | |
| use Inertia\Response; | |
| 
 | |
| class PasswordResetLinkController extends Controller | |
| { | |
|     /** | |
|      * Display the password reset link request view. | |
|      */ | |
|     public function create(): Response | |
|     { | |
|         return Inertia::render('Auth/ForgotPassword', [ | |
|             'status' => session('status'), | |
|         ]); | |
|     } | |
| 
 | |
|     /** | |
|      * Handle an incoming password reset link request. | |
|      * | |
|      * @throws \Illuminate\Validation\ValidationException | |
|      */ | |
|     public function store(Request $request): RedirectResponse | |
|     { | |
|         $request->validate([ | |
|             "email" => "required|string|email|max:255" | |
|         ]); | |
|         $user = User::where("email", $request->email)->firstOrFail(); | |
|         DB::table("password_reset_tokens")->where("email", $user->email)->delete(); | |
|         $token = Token::create($user->email); | |
|         Mail::send((object)[ | |
|             "user" => $user, | |
|             "template" => "email.auth.reset", | |
|             "data" => [ "token" => $token ], | |
|             "subject" => "Mot de passe oublié." | |
|         ]); | |
|         return back()->with('status',"Nous vous avons envoyé par email le lien de réinitialisation du mot de passe !"); | |
|     } | |
| }
 | |
| 
 |