middleware('auth'); } public function home() { return view('settings.home'); } public function homeUpdate(Request $request) { $this->validate($request, [ 'name' => 'required|string|max:30', 'bio' => 'nullable|string|max:125' ]); $changes = false; $name = $request->input('name'); $bio = $request->input('bio'); $user = Auth::user(); $profile = $user->profile; if($profile->name != $name) { $changes = true; $user->name = $name; $profile->name = $name; } if($profile->bio != $bio) { $changes = true; $profile->bio = $bio; } if($changes === true) { $user->save(); $profile->save(); return redirect('/settings/home')->with('status', 'Profile successfully updated!'); } return redirect('/settings/home'); } public function password() { return view('settings.password'); } public function passwordUpdate(Request $request) { $this->validate($request, [ 'current' => 'required|string', 'password' => 'required|string', 'password_confirmation' => 'required|string', ]); $current = $request->input('current'); $new = $request->input('password'); $confirm = $request->input('password_confirmation'); $user = Auth::user(); if(password_verify($current, $user->password) && $new === $confirm) { $user->password = bcrypt($new); $user->save(); return redirect('/settings/home')->with('status', 'Password successfully updated!'); } return redirect('/settings/home')->with('error', 'There was an error with your request!'); } public function email() { return view('settings.email'); } public function avatar() { return view('settings.avatar'); } public function notifications() { return view('settings.notifications'); } public function privacy() { return view('settings.privacy'); } public function security() { return view('settings.security'); } public function applications() { return view('settings.applications'); } public function dataExport() { return view('settings.dataexport'); } public function dataImport() { return view('settings.import.home'); } public function dataImportInstagram() { return view('settings.import.ig'); } public function developers() { return view('settings.developers'); } }