1
0

AdminSettingsController.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use Artisan, Cache, DB;
  4. use Illuminate\Http\Request;
  5. use Carbon\Carbon;
  6. use App\{Comment, Like, Media, Page, Profile, Report, Status, User};
  7. use App\Http\Controllers\Controller;
  8. use App\Util\Lexer\PrettyNumber;
  9. trait AdminSettingsController
  10. {
  11. public function settings(Request $request)
  12. {
  13. return view('admin.settings.home');
  14. }
  15. public function settingsBackups(Request $request)
  16. {
  17. $path = storage_path('app/'.config('app.name'));
  18. $files = is_dir($path) ? new \DirectoryIterator($path) : [];
  19. return view('admin.settings.backups', compact('files'));
  20. }
  21. public function settingsConfig(Request $request)
  22. {
  23. $editor = [];
  24. $config = file_get_contents(base_path('.env'));
  25. return view('admin.settings.config', compact('editor', 'config'));
  26. }
  27. public function settingsMaintenance(Request $request)
  28. {
  29. return view('admin.settings.maintenance');
  30. }
  31. public function settingsStorage(Request $request)
  32. {
  33. $storage = [];
  34. return view('admin.settings.storage', compact('storage'));
  35. }
  36. public function settingsFeatures(Request $request)
  37. {
  38. return view('admin.settings.features');
  39. }
  40. public function settingsHomeStore(Request $request)
  41. {
  42. $this->validate($request, [
  43. 'APP_NAME' => 'required|string',
  44. ]);
  45. // Artisan::call('config:clear');
  46. return redirect()->back();
  47. }
  48. public function settingsPages(Request $request)
  49. {
  50. $pages = Page::orderByDesc('updated_at')->paginate(10);
  51. return view('admin.pages.home', compact('pages'));
  52. }
  53. public function settingsPageEdit(Request $request)
  54. {
  55. return view('admin.pages.edit');
  56. }
  57. public function settingsSystem(Request $request)
  58. {
  59. $sys = [
  60. 'pixelfed' => config('pixelfed.version'),
  61. 'php' => phpversion(),
  62. 'laravel' => app()->version(),
  63. ];
  64. switch (config('database.default')) {
  65. case 'pgsql':
  66. $sys['database'] = [
  67. 'name' => 'Postgres',
  68. 'version' => explode(' ', DB::select(DB::raw('select version();'))[0]->version)[1]
  69. ];
  70. break;
  71. case 'mysql':
  72. $sys['database'] = [
  73. 'name' => 'MySQL',
  74. 'version' => DB::select( DB::raw("select version()") )[0]->{'version()'}
  75. ];
  76. break;
  77. default:
  78. $sys['database'] = [
  79. 'name' => 'Unknown',
  80. 'version' => '?'
  81. ];
  82. break;
  83. }
  84. return view('admin.settings.system', compact('sys'));
  85. }
  86. }