protected function getObjectFromData($data) { $deligatedUser = new DeligatedUser(); $deligatedUser->setId(intval($data['ud_id'])); $deligatedUser->setType($data['ud_type']); $deligatedUser->setUniqueId($data['ud_unique_id']); if ($data['ud_name']) { $deligatedUser->setName($data['ud_name']); } if ($data['ud_access_token']) { $deligatedUser->setAccessToken($data['ud_access_token']); } if ($data['ud_gender']) { $deligatedUser->setGender($data['ud_gender']); } if ($data['ud_email']) { $deligatedUser->setEmail($data['ud_email']); } if ($data['ud_birthday']) { $deligatedUser->setBirthday(new Carbon($data['ud_birthday'])); } if ($data['ud_locale']) { $deligatedUser->setLocale($data['ud_locale']); } if ($data['ud_avatar']) { $deligatedUser->setAvatar($data['ud_avatar']); } if ($data['ud_firstname']) { $deligatedUser->setFirstname($data['ud_firstname']); } if ($data['ud_lastname']) { $deligatedUser->setLastname($data['ud_lastname']); } if ($data['u_id']) { $user = \Neuron\MapperFactory::getUserMapper()->getFromId($data['u_id']); if ($user) { $deligatedUser->setUser($user); } } $deligatedUser->setCreatedAt(strtotime($data['created_at'])); $deligatedUser->setUpdatedAt(strtotime($data['updated_at'])); return $deligatedUser; }
/** * Return an error (string) or redirect * @param DeligatedUser $deligatedUser * @param $email * @param $password * @return Response|string * @throws ExpectedType */ private function processLogin(DeligatedUser $deligatedUser, $email, $password) { $mapper = \Neuron\MapperFactory::getUserMapper(); ExpectedType::check($mapper, UserMapper::class); $user = $mapper->getFromLogin($email, $password); if ($user) { // Everything okay // Link the deligated user to this user. $deligatedUser->setUser($user); MapperFactory::getDeligatedMapper()->update($deligatedUser); return $this->module->login($this->request, $user); } else { // Check if we have this email address $user = $mapper->getFromEmail($email); if ($user) { return 'PASSWORD_INCORRECT'; } else { return 'USER_NOT_FOUND'; } } }