| 
									
										
										
										
											2016-01-08 16:00:57 +01:00
										 |  |  | <?php | 
					
						
							| 
									
										
										
										
											2016-02-05 12:08:25 +01:00
										 |  |  | declare(strict_types = 1); | 
					
						
							| 
									
										
										
										
											2016-01-08 16:00:57 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | namespace FireflyIII\Http\Middleware; | 
					
						
							| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | use Closure; | 
					
						
							| 
									
										
										
										
											2016-01-28 21:33:45 +01:00
										 |  |  | use Illuminate\Http\Request; | 
					
						
							| 
									
										
										
										
											2016-02-04 07:28:39 +01:00
										 |  |  | use Illuminate\Support\Facades\Auth; | 
					
						
							| 
									
										
										
										
											2016-02-07 07:36:31 +01:00
										 |  |  | use Session; | 
					
						
							| 
									
										
										
										
											2016-03-14 20:53:56 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-09 08:20:55 +01:00
										 |  |  | /** | 
					
						
							|  |  |  |  * Class Authenticate | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * @package FireflyIII\Http\Middleware | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2015-02-11 07:35:10 +01:00
										 |  |  | class Authenticate | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Handle an incoming request. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @param  \Illuminate\Http\Request $request | 
					
						
							|  |  |  |      * @param  \Closure                 $next | 
					
						
							| 
									
										
										
										
											2016-01-08 16:00:57 +01:00
										 |  |  |      * @param  string|null              $guard | 
					
						
							| 
									
										
										
										
											2015-02-11 07:35:10 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return mixed | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2016-01-28 21:33:45 +01:00
										 |  |  |     public function handle(Request $request, Closure $next, $guard = null) | 
					
						
							| 
									
										
										
										
											2015-02-11 07:35:10 +01:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2016-01-08 16:00:57 +01:00
										 |  |  |         if (Auth::guard($guard)->guest()) { | 
					
						
							| 
									
										
										
										
											2015-02-11 07:35:10 +01:00
										 |  |  |             if ($request->ajax()) { | 
					
						
							|  |  |  |                 return response('Unauthorized.', 401); | 
					
						
							|  |  |  |             } else { | 
					
						
							| 
									
										
										
										
											2016-01-08 16:00:57 +01:00
										 |  |  |                 return redirect()->guest('login'); | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2016-02-06 22:14:51 +01:00
										 |  |  |         } else { | 
					
						
							| 
									
										
										
										
											2016-02-07 07:36:31 +01:00
										 |  |  |             if (intval(Auth::user()->blocked) === 1) { | 
					
						
							|  |  |  |                 Auth::guard($guard)->logout(); | 
					
						
							|  |  |  |                 Session::flash('logoutMessage', trans('firefly.block_account_logout')); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 return redirect()->guest('login'); | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2015-07-24 13:17:47 +02:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-11 07:35:10 +01:00
										 |  |  |         return $next($request); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2015-02-06 04:39:52 +01:00
										 |  |  | } |