123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <?php
- namespace App\Http\Controllers;
- use Illuminate\Http\Request;
- use App\{Profile, User};
- use Auth;
- class SettingsController extends Controller
- {
- public function __construct()
- {
- return $this->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');
- }
- }
|