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