guard = $guard; } /** * Validate and create a newly registered user. * * @param array $input * @return \App\Models\User */ public function create(array $input) { $settings = Setting::whereIn('name', ['storage_default', 'registration']) ->pluck('value', 'name'); // Check if account registration is enabled if (! intval($settings['registration'])) { abort(401); } Validator::make($input, [ 'name' => ['required', 'string', 'max:255'], 'email' => [ 'required', 'string', 'email', 'max:255', Rule::unique(User::class), ], 'password' => $this->passwordRules(), ])->validate(); $user = User::create([ 'email' => $input['email'], 'password' => bcrypt($input['password']), ]); UserSettings::unguard(); $user ->settings() ->create([ 'name' => $input['name'], 'storage_capacity' => $settings['storage_default'], ]); if(!get_setting('user_verification')) { $user->markEmailAsVerified(); } UserSettings::reguard(); return $user; } /** * Create a new registered user. * * @param \Illuminate\Http\Request $request * @param \Laravel\Fortify\Contracts\CreatesNewUsers $creator * @return \Laravel\Fortify\Contracts\RegisterResponse */ public function store(Request $request, CreatesNewUsers $creator): RegisterResponse { event(new Registered($user = $creator->create($request->all()))); if(! get_setting('user_verification')) { $this->guard->login($user); }; return app(RegisterResponse::class); } }