Просмотр файла app/Http/Middleware/CheckAdmin.php

Размер файла: 882B
  1. <?php
  2.  
  3. namespace App\Http\Middleware;
  4.  
  5. use App\Models\Log;
  6. use Closure;
  7. use Illuminate\Http\Request;
  8.  
  9. class CheckAdmin
  10. {
  11. /**
  12. * Handle an incoming request.
  13. *
  14. * @param Request $request
  15. * @param Closure $next
  16. * @param string|null $level
  17. *
  18. * @return mixed
  19. */
  20. public function handle(Request $request, Closure $next, ?string $level = null)
  21. {
  22. if (! isAdmin($level)) {
  23. abort(403, __('errors.forbidden'));
  24. }
  25.  
  26. Log::query()->create([
  27. 'user_id' => getUser('id'),
  28. 'request' => utfSubstr($request->getRequestUri(), 0, 250),
  29. 'referer' => utfSubstr($request->header('referer'), 0, 250),
  30. 'ip' => getIp(),
  31. 'brow' => getBrowser(),
  32. 'created_at' => SITETIME,
  33. ]);
  34.  
  35. return $next($request);
  36. }
  37. }