SystemController.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Events\ReleaseRadarActivated;
  4. use App\Services\ReleaseRadarService;
  5. use Illuminate\Support\Facades\App;
  6. use App\Http\Controllers\Controller;
  7. use App\Facades\Settings;
  8. use Illuminate\Http\Request;
  9. use Illuminate\Support\Facades\DB;
  10. class SystemController extends Controller
  11. {
  12. /**
  13. * Get detailed information about the current installation
  14. *
  15. * @return \Illuminate\Http\JsonResponse
  16. */
  17. public function infos(Request $request)
  18. {
  19. $infos = array();
  20. $infos['Date'] = date(DATE_RFC2822);
  21. $infos['userAgent'] = $request->header('user-agent');
  22. // App info
  23. $infos['Version'] = config('2fauth.version');
  24. $infos['Environment'] = config('app.env');
  25. $infos['Debug'] = var_export(config('app.debug'), true);
  26. $infos['Cache driver'] = config('cache.default');
  27. $infos['Log channel'] = config('logging.default');
  28. $infos['Log level'] = env('LOG_LEVEL');
  29. $infos['DB driver'] = DB::getDriverName();
  30. // PHP info
  31. $infos['PHP version'] = PHP_VERSION;
  32. $infos['Operating system'] = PHP_OS;
  33. $infos['interface'] = PHP_SAPI;
  34. // Auth info
  35. if ($request->user()) {
  36. $infos['Auth guard'] = config('auth.defaults.guard');
  37. if ($infos['Auth guard'] === 'reverse-proxy-guard') {
  38. $infos['Auth proxy header for user'] = config('auth.auth_proxy_headers.user');
  39. $infos['Auth proxy header for email'] = config('auth.auth_proxy_headers.email');
  40. }
  41. $infos['webauthn user verification'] = config('larapass.login_verify');
  42. $infos['Trusted proxies'] = config('2fauth.trustedProxies') ?: 'none';
  43. }
  44. // User info
  45. if ($request->user()) {
  46. $infos['options'] = Settings::all()->toArray();
  47. }
  48. return response()->json($infos);
  49. }
  50. /**
  51. * Get latest release
  52. *
  53. * @return \Illuminate\Http\JsonResponse
  54. */
  55. public function latestRelease(Request $request)
  56. {
  57. $releaseRadarService = App::make(ReleaseRadarService::class);
  58. $release = $releaseRadarService->scanForRelease();
  59. return response()->json($release);
  60. }
  61. }