middleware('guest'); } /** * Show the application registration form. * * @return \Illuminate\View\View */ public function showRegistrationForm(Request $request) { $first = ! Account::hasAny(); if (config('monica.disable_signup') == 'true' && ! $first) { abort(403, trans('auth.signup_disabled')); } return view('auth.register') ->withFirst($first) ->withLocales(LocaleHelper::getLocaleList()->sortByCollator('lang')); } /** * 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, [ 'last_name' => 'required|max:255', 'first_name' => 'required|max:255', 'email' => 'required|email|max:255|unique:users', 'password' => 'required|min:6|confirmed', 'policy' => 'required', ]); } /** * Create a new user instance after a valid registration. * * @param array $data * @return User */ protected function create(array $data) { $first = ! Account::hasAny(); $account = Account::createDefault( $data['first_name'], $data['last_name'], $data['email'], $data['password'], RequestHelper::ip(), $data['lang'] ); $user = $account->users()->first(); if (! $first) { // send me an alert dispatch(new SendNewUserAlert($user)); } return $user; } /** * The user has been registered. * * @param \Illuminate\Http\Request $request * @param mixed $user */ protected function registered(Request $request, $user) { /** @var int $count */ $count = Account::count(); if (! config('monica.signup_double_optin') || $count == 1) { // if signup_double_optin is disabled, skip the confirm email part $user->markEmailAsVerified(); } } }