/** * @param Request $request * @return \Illuminate\Http\RedirectResponse */ public function save(Request $request) { $this->validate($request, ['password' => 'required|confirmed|min:3', 'password_old' => 'required|password']); $user = User::find(auth()->user()->id); $user->password = bcrypt($request->get('password')); $user->save(); Auth::login($user); return back()->with('success', 'Zmiany zostały poprawie zapisane'); }
/** * Potwierdzenie adresu e-mail poprzez link aktywacyjny znajdujacy sie w mailu * * @return \Illuminate\Http\Response */ public function email() { $actkey = Actkey::where('user_id', request('id'))->where('actkey', request('actkey'))->firstOrFail(); $user = User::find(request('id')); $user->is_confirm = 1; if ($actkey->email) { $user->email = $actkey->email; } $user->save(); $actkey->delete(); return redirect(route('home'))->with('success', 'Adres e-mail został pozytywnie potwierdzony'); }
/** * @param UserSettingsRequest $request * @return \Illuminate\Http\RedirectResponse */ public function save(UserSettingsRequest $request) { $user = auth()->user(); if ($user->email !== $request->get('email')) { $email = $request->get('email'); // kasujemy poprzednie rekordu zwiazane z tym userem Actkey::where('user_id', $user->id)->delete(); // przed zmiana e-maila trzeba wyslac link potwierdzajacy $actkey = Actkey::create(['actkey' => str_random(), 'user_id' => $user->id, 'email' => $email]); // taki format linku zachowany jest ze wzgledu na wsteczna kompatybilnosc. // z czasem mozemy zmienic ten format aby wskazywal na /User/Confirm/Email/<id>/<actkey> $url = route('user.email') . '?id=' . $user->id . '&actkey=' . $actkey->actkey; Mail::queue('emails.email', ['url' => $url], function ($message) use($email) { $message->to($email); $message->subject('Prosimy o potwierdzenie nowego adresu e-mail'); }); if ($user->is_confirm) { $request['email'] = $user->email; } } User::find($user->id)->fill($request->all())->save(); return back()->with('success', 'Zmiany zostały poprawie zapisane'); }