| 
									
										
										
										
											2021-06-26 23:23:15 +08:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace BookStack\Exceptions; | 
					
						
							| 
									
										
										
										
											2015-09-05 00:16:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-09 02:00:09 +08:00
										 |  |  | use Exception; | 
					
						
							|  |  |  | use Illuminate\Contracts\Support\Responsable; | 
					
						
							| 
									
										
										
										
											2015-09-05 00:16:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-09 02:00:09 +08:00
										 |  |  | class NotifyException extends Exception implements Responsable | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2015-09-05 00:16:58 +08:00
										 |  |  |     public $message; | 
					
						
							|  |  |  |     public $redirectLocation; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * NotifyException constructor. | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2021-06-26 23:23:15 +08:00
										 |  |  |     public function __construct(string $message, string $redirectLocation = '/') | 
					
						
							| 
									
										
										
										
											2015-09-05 00:16:58 +08:00
										 |  |  |     { | 
					
						
							|  |  |  |         $this->message = $message; | 
					
						
							|  |  |  |         $this->redirectLocation = $redirectLocation; | 
					
						
							|  |  |  |         parent::__construct(); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2021-05-09 02:00:09 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Send the response for this type of exception. | 
					
						
							| 
									
										
										
										
											2021-06-26 23:23:15 +08:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2021-05-09 02:00:09 +08:00
										 |  |  |      * @inheritdoc | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     public function toResponse($request) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $message = $this->getMessage(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (!empty($message)) { | 
					
						
							|  |  |  |             session()->flash('error', $message); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return redirect($this->redirectLocation); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2018-01-29 00:58:52 +08:00
										 |  |  | } |