user()]); } public function storeAccount(Request $request) { $input = $this->validate($request, [ 'name' => [ 'required', VALI_NAME, Rule::unique('users')->ignoreModel(\user()), ], 'email' => [ 'required', VALI_EMAIL, Rule::unique('users')->ignoreModel(\user()), ], '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 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')); } }