Dashboard.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. namespace Encore\Admin\Controllers;
  3. use Encore\Admin\Admin;
  4. class Dashboard
  5. {
  6. /**
  7. * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  8. */
  9. public static function title()
  10. {
  11. return view('admin::dashboard.title');
  12. }
  13. /**
  14. * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  15. */
  16. public static function environment()
  17. {
  18. $envs = [
  19. ['name' => 'PHP version', 'value' => 'PHP/'.PHP_VERSION],
  20. ['name' => 'Laravel version', 'value' => app()->version()],
  21. ['name' => 'CGI', 'value' => php_sapi_name()],
  22. ['name' => 'Uname', 'value' => php_uname()],
  23. ['name' => 'Server', 'value' => array_get($_SERVER, 'SERVER_SOFTWARE')],
  24. ['name' => 'Cache driver', 'value' => config('cache.default')],
  25. ['name' => 'Session driver', 'value' => config('session.driver')],
  26. ['name' => 'Queue driver', 'value' => config('queue.default')],
  27. ['name' => 'Timezone', 'value' => config('app.timezone')],
  28. ['name' => 'Locale', 'value' => config('app.locale')],
  29. ['name' => 'Env', 'value' => config('app.env')],
  30. ['name' => 'URL', 'value' => config('app.url')],
  31. ];
  32. return view('admin::dashboard.environment', compact('envs'));
  33. }
  34. /**
  35. * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  36. */
  37. public static function extensions()
  38. {
  39. $extensions = [
  40. 'helpers' => [
  41. 'name' => 'laravel-admin-ext/helpers',
  42. 'link' => 'https://github.com/laravel-admin-extensions/helpers',
  43. 'icon' => 'gears',
  44. ],
  45. 'log-viewer' => [
  46. 'name' => 'laravel-admin-ext/log-viewer',
  47. 'link' => 'https://github.com/laravel-admin-extensions/log-viewer',
  48. 'icon' => 'database',
  49. ],
  50. 'backup' => [
  51. 'name' => 'laravel-admin-ext/backup',
  52. 'link' => 'https://github.com/laravel-admin-extensions/backup',
  53. 'icon' => 'copy',
  54. ],
  55. 'config' => [
  56. 'name' => 'laravel-admin-ext/config',
  57. 'link' => 'https://github.com/laravel-admin-extensions/config',
  58. 'icon' => 'toggle-on',
  59. ],
  60. 'api-tester' => [
  61. 'name' => 'laravel-admin-ext/api-tester',
  62. 'link' => 'https://github.com/laravel-admin-extensions/api-tester',
  63. 'icon' => 'sliders',
  64. ],
  65. 'media-manager' => [
  66. 'name' => 'laravel-admin-ext/media-manager',
  67. 'link' => 'https://github.com/laravel-admin-extensions/media-manager',
  68. 'icon' => 'file',
  69. ],
  70. 'scheduling' => [
  71. 'name' => 'laravel-admin-ext/scheduling',
  72. 'link' => 'https://github.com/laravel-admin-extensions/scheduling',
  73. 'icon' => 'clock-o',
  74. ],
  75. 'reporter' => [
  76. 'name' => 'laravel-admin-ext/reporter',
  77. 'link' => 'https://github.com/laravel-admin-extensions/reporter',
  78. 'icon' => 'bug',
  79. ],
  80. 'redis-manager' => [
  81. 'name' => 'laravel-admin-ext/redis-manager',
  82. 'link' => 'https://github.com/laravel-admin-extensions/redis-manager',
  83. 'icon' => 'flask',
  84. ],
  85. ];
  86. foreach ($extensions as &$extension) {
  87. $name = explode('/', $extension['name']);
  88. $extension['installed'] = array_key_exists(end($name), Admin::$extensions);
  89. }
  90. return view('admin::dashboard.extensions', compact('extensions'));
  91. }
  92. /**
  93. * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
  94. */
  95. public static function dependencies()
  96. {
  97. $json = file_get_contents(base_path('composer.json'));
  98. $dependencies = json_decode($json, true)['require'];
  99. return view('admin::dashboard.dependencies', compact('dependencies'));
  100. }
  101. }