Example #1
0
 public function postRegister(Request $request)
 {
     $this->validate($request, ['name' => 'required|max:255', 'city_id' => 'required|numeric', 'email' => 'required|email|max:255', 'password' => 'required|confirmed|min:6', 'rules' => 'accepted']);
     $user = User::where('email', $request->email)->first();
     if (!empty($user->email)) {
         if ($user->status == 0) {
             return redirect()->back()->withInput()->with('status', 'Такой email уже зарегестрирован, но не подтвержден. Проверьте почту или запросите повторное подтверждение email.');
         } else {
             return redirect()->back()->withInput()->with('status', 'Пользователь с таким email уже зарегестрирован.');
         }
     }
     $user = User::create(['name' => $request->name, 'email' => $request->email, 'password' => bcrypt($request->password), 'ip' => $request->ip(), 'location' => serialize($request->ips())]);
     if ($user) {
         $confirm = new ConfirmUser();
         $confirm->email = $user->email;
         $confirm->token = str_random(32);
         $confirm->city_id = $request->city_id;
         $confirm->save();
         Mail::send('emails.confirm', ['token' => $confirm->token], function ($u) use($user) {
             $u->from('*****@*****.**', 'Vizov.kz');
             $u->to($user->email);
             $u->subject('Потдверждение регистрации');
         });
         return redirect('auth/login')->with('status', 'На вашу почту было выслано письмо, для подтверждения регистрации пройдите по ссылке в нем.');
     } else {
         return redirect()->back()->with('status', 'Возникла ошибка, попробуйте позже!');
     }
 }