SettingsController.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use App\{Profile, User};
  5. use Auth;
  6. class SettingsController extends Controller
  7. {
  8. public function __construct()
  9. {
  10. return $this->middleware('auth');
  11. }
  12. public function home()
  13. {
  14. return view('settings.home');
  15. }
  16. public function homeUpdate(Request $request)
  17. {
  18. $this->validate($request, [
  19. 'name' => 'required|string|max:30',
  20. ]);
  21. $name = $request->input('name');
  22. $user = Auth::user();
  23. $profile = $user->profile;
  24. if($profile->name != $name) {
  25. $user->name = $name;
  26. $user->save();
  27. $profile->name = $name;
  28. $profile->save();
  29. return redirect('/settings/home')->with('status', 'Profile successfully updated!');
  30. }
  31. return redirect('/settings/home');
  32. }
  33. public function password()
  34. {
  35. return view('settings.password');
  36. }
  37. public function email()
  38. {
  39. return view('settings.email');
  40. }
  41. public function avatar()
  42. {
  43. return view('settings.avatar');
  44. }
  45. public function notifications()
  46. {
  47. return view('settings.notifications');
  48. }
  49. public function privacy()
  50. {
  51. return view('settings.privacy');
  52. }
  53. public function security()
  54. {
  55. return view('settings.security');
  56. }
  57. public function applications()
  58. {
  59. return view('settings.applications');
  60. }
  61. public function dataExport()
  62. {
  63. return view('settings.dataexport');
  64. }
  65. public function dataImport()
  66. {
  67. return view('settings.import.home');
  68. }
  69. public function dataImportInstagram()
  70. {
  71. return view('settings.import.ig');
  72. }
  73. public function developers()
  74. {
  75. return view('settings.developers');
  76. }
  77. }