/
home
/
maktab
/
server
/
app
/
Http
/
Middleware
/
File Upload :
llllll
Current File: /home/maktab/server/app/Http/Middleware/RouterGuardMiddleware.php
<?php namespace App\Http\Middleware; use App\Models\Permission; use Closure; use Illuminate\Support\Arr; use Illuminate\Support\Str; use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; class RouterGuardMiddleware { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $count = 0; $user = auth('user')->user(); $path = $request->path(); if(preg_match('/[0-9]+$/',$request->path(),$match)) { $path = preg_replace('/[0-9]+$/', '{id}', $request->path()); } $format = $path . '@' . strtolower($request->method()); $r = config('routerguard.' . $format); if (is_null($r)){ return $next($request); } $filter = array_keys($r); if(sizeof($filter)>0){ foreach ($filter as $f) { if($request->has(str_replace('$' , '', $f))){ $values = Arr::get($r , $f,[]); foreach ($values as $index=>$val) { if($request->input(str_replace('$' , '', $f)) == $index){ $count = Permission::where('user_type',$user->user_type)->whereIn('rid',$val)->count(); if($count>0){ return $next($request); } } } } else{ $config = config('routerguard.'.$format); if($config){ $count = Permission::where('user_type',$user->user_type)->whereIn('rid',$config)->count(); if($count>0){ return $next($request); } } } } } throw new AccessDeniedHttpException(trans('error.wrong_access')); } }
Copyright ©2k19 -
Hexid
|
Tex7ure