15 changed files with 158 additions and 26 deletions
			
			
		| @ -0,0 +1,46 @@ | |||||
|  | <?php | ||||
|  | 
 | ||||
|  | namespace App\Http\Middleware; | ||||
|  | 
 | ||||
|  | use Closure; | ||||
|  | use Illuminate\Support\Facades\Auth; | ||||
|  | use App\User; | ||||
|  | use Illuminate\Support\Facades\Route; | ||||
|  | use Session; | ||||
|  | 
 | ||||
|  | class CheckAllowed | ||||
|  | { | ||||
|  |     /** | ||||
|  |      * Handle an incoming request. | ||||
|  |      * | ||||
|  |      * @param  \Illuminate\Http\Request  $request | ||||
|  |      * @param  \Closure  $next | ||||
|  |      * @return mixed | ||||
|  |      */ | ||||
|  |     public function handle($request, Closure $next) | ||||
|  |     { | ||||
|  |         $route = Route::currentRouteName(); | ||||
|  |         $current_user = User::currentUser(); | ||||
|  | 
 | ||||
|  |         if(str_is('users*', $route)) { | ||||
|  |             if($current_user->id !== 1) { | ||||
|  |                 return redirect()->route('dash'); | ||||
|  |             } | ||||
|  |         } | ||||
|  | 
 | ||||
|  |         if($route == 'dash') { | ||||
|  |             if((bool)$current_user->public_front === true) return $next($request); | ||||
|  |         } | ||||
|  | 
 | ||||
|  |         if(empty($current_user->password)) return $next($request); | ||||
|  | 
 | ||||
|  |         // Check if user is logged in as $current_user | ||||
|  |         if (Auth::check()) { | ||||
|  |             $loggedin_user = Auth::user(); | ||||
|  |             if($loggedin_user->id === $current_user->id) return $next($request); | ||||
|  |         } | ||||
|  | 
 | ||||
|  |         return Auth::authenticate(); | ||||
|  | 
 | ||||
|  |     } | ||||
|  | } | ||||
					Loading…
					
					
				
		Reference in new issue