/** * @param array $memberData The new members details * @param boolean $isAdminCreating Is the user making the change an admin * @return User */ public function registerMember(array $memberData, $isAdminCreating) { if (empty($memberData['profile_photo_private'])) { $memberData['profile_photo_private'] = false; } if (empty($memberData['password'])) { unset($memberData['password']); } $memberData['hash'] = str_random(30); $memberData['rules_agreed'] = $memberData['rules_agreed'] ? Carbon::now() : null; $user = $this->model->create($memberData); $this->profileDataRepository->createProfile($user->id); $this->addressRepository->saveUserAddress($user->id, $memberData['address'], $isAdminCreating); return $user; }