示例#1
0
 public function postRegister(Request $request)
 {
     if (Auth::check()) {
         $request->session()->flash('flash_message', 'You already have an account. To register an account, please log off.');
         return Redirect::route('user::dashboard');
     }
     $request->session()->flash('register_persist', $request->all());
     $this->validate($request, ['email' => 'required|email|unique:users', 'name' => 'required|string', 'calling_name' => 'required|string', 'birthdate' => 'required|date_format:Y-m-d', 'gender' => 'required|in:1,2,9', 'nationality' => 'required|string', 'phone' => 'required|regex:(\\+[0-9]{8,16})', 'g-recaptcha-response' => 'required|recaptcha']);
     $user = User::create($request->except('g-recaptcha-response'));
     if (Session::get('wizard')) {
         $user->wizard = true;
     }
     $user->save();
     /** Add user to LDAP */
     $ad = new Adldap();
     $provider = new Provider(config('adldap.proto'));
     $ad->addProvider('proto', $provider);
     $ad->connect('proto');
     $ldapuser = $provider->make()->user();
     $ldapuser->cn = "user-" . $user->id;
     $ldapuser->description = $user->id;
     $ldapuser->save();
     /** End add user to LDAP */
     $email = $user->email;
     $name = $user->mail;
     Mail::queue('emails.registration', ['user' => $user], function ($m) use($email, $name) {
         $m->replyTo('*****@*****.**', 'Study Association Proto');
         $m->to($email, $name);
         $m->subject('Account registration at Study Association Proto');
     });
     AuthController::dispatchPasswordEmailFor($user);
     if (!Auth::check()) {
         $request->session()->flash('flash_message', 'Your account has been created. You will receive an e-mail with instructions on how to set your password shortly.');
         return Redirect::route('homepage');
     }
 }