SettingsController.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\AccountLog;
  4. use Auth;
  5. use DB;
  6. use Illuminate\Http\Request;
  7. use App\Http\Controllers\Settings\{
  8. HomeSettings,
  9. PrivacySettings,
  10. SecuritySettings
  11. };
  12. class SettingsController extends Controller
  13. {
  14. use HomeSettings,
  15. PrivacySettings,
  16. SecuritySettings;
  17. public function __construct()
  18. {
  19. $this->middleware('auth');
  20. }
  21. public function accessibility()
  22. {
  23. $settings = Auth::user()->settings;
  24. return view('settings.accessibility', compact('settings'));
  25. }
  26. public function accessibilityStore(Request $request)
  27. {
  28. $settings = Auth::user()->settings;
  29. $fields = [
  30. 'compose_media_descriptions',
  31. 'reduce_motion',
  32. 'optimize_screen_reader',
  33. 'high_contrast_mode',
  34. 'video_autoplay',
  35. ];
  36. foreach ($fields as $field) {
  37. $form = $request->input($field);
  38. if ($form == 'on') {
  39. $settings->{$field} = true;
  40. } else {
  41. $settings->{$field} = false;
  42. }
  43. $settings->save();
  44. }
  45. return redirect(route('settings.accessibility'))->with('status', 'Settings successfully updated!');
  46. }
  47. public function notifications()
  48. {
  49. return view('settings.notifications');
  50. }
  51. public function applications()
  52. {
  53. return view('settings.applications');
  54. }
  55. public function dataExport()
  56. {
  57. return view('settings.dataexport');
  58. }
  59. public function dataImport()
  60. {
  61. return view('settings.import.home');
  62. }
  63. public function dataImportInstagram()
  64. {
  65. return view('settings.import.instagram.home');
  66. }
  67. public function developers()
  68. {
  69. return view('settings.developers');
  70. }
  71. }