| 
									
										
										
										
											2015-07-13 03:01:42 +08:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-11 02:31:09 +08:00
										 |  |  | namespace BookStack\Http\Controllers\Auth; | 
					
						
							| 
									
										
										
										
											2015-07-13 03:01:42 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-11 02:31:09 +08:00
										 |  |  | use BookStack\Http\Controllers\Controller; | 
					
						
							| 
									
										
										
										
											2016-09-18 01:22:04 +08:00
										 |  |  | use Illuminate\Foundation\Auth\SendsPasswordResetEmails; | 
					
						
							| 
									
										
										
										
											2016-11-12 19:40:54 +08:00
										 |  |  | use Illuminate\Http\Request; | 
					
						
							|  |  |  | use Password; | 
					
						
							| 
									
										
										
										
											2015-07-13 03:01:42 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-18 01:22:04 +08:00
										 |  |  | class ForgotPasswordController extends Controller | 
					
						
							| 
									
										
										
										
											2015-07-13 03:01:42 +08:00
										 |  |  | { | 
					
						
							|  |  |  |     /* | 
					
						
							|  |  |  |     |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |     | Password Reset Controller | 
					
						
							|  |  |  |     |-------------------------------------------------------------------------- | 
					
						
							|  |  |  |     | | 
					
						
							| 
									
										
										
										
											2016-09-18 01:22:04 +08:00
										 |  |  |     | This controller is responsible for handling password reset emails and | 
					
						
							|  |  |  |     | includes a trait which assists in sending these notifications from | 
					
						
							|  |  |  |     | your application to your users. Feel free to explore this trait. | 
					
						
							| 
									
										
										
										
											2015-07-13 03:01:42 +08:00
										 |  |  |     | | 
					
						
							|  |  |  |     */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-18 01:22:04 +08:00
										 |  |  |     use SendsPasswordResetEmails; | 
					
						
							| 
									
										
										
										
											2015-08-23 22:46:02 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-13 03:01:42 +08:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2016-09-18 01:22:04 +08:00
										 |  |  |      * Create a new controller instance. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return void | 
					
						
							| 
									
										
										
										
											2015-07-13 03:01:42 +08:00
										 |  |  |      */ | 
					
						
							|  |  |  |     public function __construct() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $this->middleware('guest'); | 
					
						
							| 
									
										
										
										
											2016-09-18 01:22:04 +08:00
										 |  |  |         parent::__construct(); | 
					
						
							| 
									
										
										
										
											2015-07-13 03:01:42 +08:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2016-11-12 19:40:54 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Send a reset link to the given user. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @param  \Illuminate\Http\Request  $request | 
					
						
							|  |  |  |      * @return \Illuminate\Http\RedirectResponse | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     public function sendResetLinkEmail(Request $request) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $this->validate($request, ['email' => 'required|email']); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         // We will send the password reset link to this user. Once we have attempted
 | 
					
						
							|  |  |  |         // to send the link, we will examine the response then see the message we
 | 
					
						
							|  |  |  |         // need to show to the user. Finally, we'll send out a proper response.
 | 
					
						
							|  |  |  |         $response = $this->broker()->sendResetLink( | 
					
						
							|  |  |  |             $request->only('email') | 
					
						
							|  |  |  |         ); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if ($response === Password::RESET_LINK_SENT) { | 
					
						
							| 
									
										
										
										
											2016-12-05 00:51:39 +08:00
										 |  |  |             $message = trans('auth.reset_password_sent_success', ['email' => $request->get('email')]); | 
					
						
							| 
									
										
										
										
											2019-10-05 19:55:01 +08:00
										 |  |  |             $this->showSuccessNotification($message); | 
					
						
							| 
									
										
										
										
											2016-11-12 19:40:54 +08:00
										 |  |  |             return back()->with('status', trans($response)); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         // If an error was returned by the password broker, we will get this message
 | 
					
						
							|  |  |  |         // translated so we can notify a user of the problem. We'll redirect back
 | 
					
						
							|  |  |  |         // to where the users came from so they can attempt this process again.
 | 
					
						
							|  |  |  |         return back()->withErrors( | 
					
						
							|  |  |  |             ['email' => trans($response)] | 
					
						
							|  |  |  |         ); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2018-01-29 00:58:52 +08:00
										 |  |  | } |