Просмотр файла app/Controllers/Admin/LogController.php

Размер файла: 1.17Kb
  1. <?php
  2.  
  3. declare(strict_types=1);
  4.  
  5. namespace App\Controllers\Admin;
  6.  
  7. use App\Models\Log;
  8. use App\Models\User;
  9. use Illuminate\Http\Request;
  10.  
  11. class LogController extends AdminController
  12. {
  13. /**
  14. * Конструктор
  15. */
  16. public function __construct()
  17. {
  18. parent::__construct();
  19.  
  20. if (! isAdmin(User::BOSS)) {
  21. abort(403, __('errors.forbidden'));
  22. }
  23. }
  24.  
  25. /**
  26. * Главная страница
  27. *
  28. * @return string
  29. */
  30. public function index(): string
  31. {
  32. $logs = Log::query()
  33. ->orderByDesc('created_at')
  34. ->with('user')
  35. ->paginate(setting('loglist'));
  36.  
  37. return view('admin/logs/index', compact('logs'));
  38. }
  39.  
  40. /**
  41. * Очистка логов
  42. *
  43. * @param Request $request
  44. *
  45. * @return void
  46. */
  47. public function clear(Request $request): void
  48. {
  49. if ($request->input('token') === $_SESSION['token']) {
  50. Log::query()->truncate();
  51.  
  52. setFlash('success', __('admin.logs.success_cleared'));
  53. } else {
  54. setFlash('danger', __('validator.token'));
  55. }
  56.  
  57. redirect('/admin/logs');
  58. }
  59. }