tables() ->with('revision:id,row_count') ->paginate(10); return view('profile.view')->with(compact('tables', 'user')); } /** * Edit own profile * * @param User $user * @return \Illuminate\View\View */ public function edit() { return view('profile.edit')->with('user', \user()); } /** * Store changed profile */ public function store(Request $request) { $input = $this->validate($request, [ 'name' => [ 'required', VALI_NAME, Rule::unique('users')->ignoreModel(\user()), ], 'email' => [ 'required', VALI_EMAIL, Rule::unique('users')->ignoreModel(\user()), ], 'bio' => ['nullable', VALI_TEXT], 'title' => ['required', VALI_LINE], 'website' => ['required', VALI_LINE], 'new_password' => ['nullable', 'confirmed', VALI_PASSWORD], ]); $user = user(); if ($input->email != $user->email) { $confirmation = EmailConfirmation::create([ 'user_id' => $user->id, 'email' => $input->email, 'token' => Str::random(60), ]); flash()->warning("New e-mail confirmation sent to $input->email.")->important(); // TODO send the e-mail unset($input->email); } $user->fill($input->all()); if ($input->has('new_password')) { $user->password = Hash::make($input->new_password); flash()->warning('Password changed'); } $user->save(); flash()->success('Settings saved'); return back(); } public function manageOauth() { return view('profile.logins', ['user' => user()]); } public function forgetSocialLogin($id) { $identity = user()->socialIdentities()->where('id', $id)->first(); if (null === $identity) { abort(404, "No such identity"); } $identity->delete(); return redirect(route('profile.manage-oauth')); } }