middleware('guest'); } /** * Handle a registration request for the application. * * @param \Illuminate\Http\Request $request * * @return \Illuminate\Http\Response */ public function register(Request $request) { // is allowed to? $singleUserMode = FireflyConfig::get('single_user_mode', config('firefly.configuration.single_user_mode'))->data; $userCount = User::count(); if ($singleUserMode === true && $userCount > 0) { $message = 'Registration is currently not available.'; return view('error', compact('message')); } $this->validator($request->all())->validate(); event(new Registered($user = $this->create($request->all()))); $this->guard()->login($user); Session::flash('success', strval(trans('firefly.registered'))); return $this->registered($request, $user) ?: redirect($this->redirectPath()); } /** * Show the application registration form. * * @param Request $request * * @return \Illuminate\Http\Response */ public function showRegistrationForm(Request $request) { // is demo site? $isDemoSite = FireflyConfig::get('is_demo_site', config('firefly.configuration.is_demo_site'))->data; // is allowed to? $singleUserMode = FireflyConfig::get('single_user_mode', config('firefly.configuration.single_user_mode'))->data; $userCount = User::count(); if ($singleUserMode === true && $userCount > 0) { $message = 'Registration is currently not available.'; return view('error', compact('message')); } $email = $request->old('email'); return view('auth.register', compact('isDemoSite', 'email')); } /** * Create a new user instance after a valid registration. * * @param array $data * * @return \FireflyIII\User */ protected function create(array $data) { return User::create( [ 'email' => $data['email'], 'password' => bcrypt($data['password']), ] ); } /** * Get a validator for an incoming registration request. * * @param array $data * * @return \Illuminate\Contracts\Validation\Validator */ protected function validator(array $data) { return Validator::make( $data, [ 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|secure_password|confirmed', ] ); } }