/**
  * @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');
 }