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

Размер файла: 1.32Kb
  1. <?php
  2.  
  3. declare(strict_types=1);
  4.  
  5. namespace App\Http\Controllers\Admin;
  6.  
  7. use App\Http\Controllers\Controller;
  8. use App\Models\User;
  9. use Illuminate\Support\Facades\Artisan;
  10. use Illuminate\View\View;
  11.  
  12. class AdminController extends Controller
  13. {
  14. /**
  15. * Главная страница
  16. *
  17. * @return View
  18. */
  19. public function main(): View
  20. {
  21. $existBoss = User::query()
  22. ->where('level', User::BOSS)
  23. ->count();
  24.  
  25. return view('admin/index', compact('existBoss'));
  26. }
  27.  
  28. /**
  29. * Проверка обновлений
  30. *
  31. * @return View
  32. */
  33. public function upgrade(): View
  34. {
  35. Artisan::call('migrate', ['--force' => true]);
  36. $output = Artisan::output();
  37.  
  38. return view('admin/upgrade', compact('output'));
  39. }
  40.  
  41. /**
  42. * Просмотр информации о PHP
  43. *
  44. * @return View
  45. */
  46. public function phpinfo(): View
  47. {
  48. if (! isAdmin(User::ADMIN)) {
  49. abort(403, __('errors.forbidden'));
  50. }
  51.  
  52. $iniInfo = null;
  53.  
  54. if (function_exists('ini_get_all')) {
  55. $iniInfo = ini_get_all();
  56. }
  57.  
  58. if ($gdInfo = gd_info()) {
  59. $gdInfo = parseVersion($gdInfo['GD Version']);
  60. }
  61.  
  62. return view('admin/phpinfo', compact('iniInfo', 'gdInfo'));
  63. }
  64. }