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

Размер файла: 2.2Kb
  1. <?php
  2.  
  3. declare(strict_types=1);
  4.  
  5. namespace App\Controllers\Admin;
  6.  
  7. use App\Controllers\BaseController;
  8. use App\Models\Log;
  9. use App\Models\User;
  10. use Phinx\Console\PhinxApplication;
  11. use Phinx\Wrapper\TextWrapper;
  12. use Illuminate\Database\Capsule\Manager as DB;
  13.  
  14. class AdminController extends BaseController
  15. {
  16. /**
  17. * AdminController constructor.
  18. */
  19. public function __construct()
  20. {
  21. parent::__construct();
  22.  
  23. if (! isAdmin()) {
  24. abort(403, __('errors.forbidden'));
  25. }
  26.  
  27. Log::query()->create([
  28. 'user_id' => getUser('id'),
  29. 'request' => request()->getRequestUri(),
  30. 'referer' => server('HTTP_REFERER'),
  31. 'ip' => getIp(),
  32. 'brow' => getBrowser(),
  33. 'created_at' => SITETIME,
  34. ]);
  35. }
  36.  
  37. /**
  38. * Главная страница
  39. *
  40. * @return string
  41. */
  42. public function main(): string
  43. {
  44. $existBoss = User::query()
  45. ->where('level', User::BOSS)
  46. ->count();
  47.  
  48. return view('admin/index', compact('existBoss'));
  49. }
  50.  
  51. /**
  52. * Проверка обновлений
  53. *
  54. * @param PhinxApplication $app
  55. *
  56. * @return string
  57. */
  58. public function upgrade(PhinxApplication $app): string
  59. {
  60. $wrap = new TextWrapper($app);
  61.  
  62. $app->setName('Rotor by Vantuz - https://visavi.net');
  63. $app->setVersion(VERSION);
  64.  
  65. $wrap->setOption('configuration', BASEDIR.'/app/migration.php');
  66. $wrap->setOption('parser', 'php');
  67. $wrap->setOption('environment', 'default');
  68.  
  69. return view('admin/upgrade', compact('wrap'));
  70. }
  71.  
  72. /**
  73. * Просмотр информации о PHP
  74. *
  75. * @return string
  76. */
  77. public function phpinfo(): string
  78. {
  79. if (! isAdmin(User::ADMIN)) {
  80. abort(403, __('errors.forbidden'));
  81. }
  82.  
  83. $iniInfo = null;
  84. $gdInfo = null;
  85.  
  86. if (function_exists('ini_get_all')) {
  87. $iniInfo = ini_get_all();
  88. }
  89.  
  90. if ($gdInfo = gd_info()) {
  91. $gdInfo = parseVersion($gdInfo['GD Version']);
  92. }
  93.  
  94. return view('admin/phpinfo', compact('iniInfo', 'gdInfo'));
  95. }
  96. }