Esempio n. 1
0
 /**
  * @inheritDoc
  */
 protected function createEntity($data)
 {
     $user = new User();
     $user->setLogin($data['login'])->setEmail($data['email'])->setPassword(md5($data['password']))->setHash(md5($data['hash']))->setConfirm($data['confirm'])->setInRest($data['in_rest'])->setLeftRest($data['left_rest'])->setGoneInRest($this->container->get("core.service.date")->getDateTime($data['gone_in_rest']))->setLastPing($this->container->get("core.service.date")->getDateTime($data['last_ping']))->setClass($data['class'])->setRating($data['rating'])->setWin($data['win'])->setDraw($data['draw'])->setLose($data['lose'])->setLoseTime($data['lose_time'])->setImmortalId($data['immortal_id'])->setAnotherLogin($data['another_login'])->setLastMove($this->container->get("core.service.date")->getDateTime($data['last_move']))->setBalance($data['balance'])->setLag((double) @$data["lag"])->setOnline((bool) @$data['online']);
     if (isset($data["settings"])) {
         foreach ($data["settings"] as $settingArray) {
             /** @var UserSetting $userSetting */
             $userSetting = $this->getReference($settingArray["settingReference"]);
             $userSetting->setValue($settingArray["value"]);
             $user->setSetting($userSetting);
         }
     }
     return $user;
 }
Esempio n. 2
0
 /**
  * @param UserPostRegisterRequest $request
  * @return User
  */
 public function processPostRegister(UserPostRegisterRequest $request) : User
 {
     try {
         if ($this->repository->findOneByEmail($request->getEmail())) {
             $this->getRequestError()->addError("email", 'This email was already registered');
         }
     } catch (UserNotFoundException $e) {
         // that's alright
     }
     try {
         if ($this->repository->findOneByLogin($request->getLogin())) {
             $this->getRequestError()->addError("login", 'This login was already registered');
         }
     } catch (UserNotFoundException $e) {
         // that's alright
     }
     if ($request->getPassword() !== $request->getPasswordRepeat()) {
         $this->getRequestError()->addError("password_repeat", 'The password repeat should be the same');
     }
     if ($this->isIpBanned($request->getIp())) {
         $this->getRequestError()->addError("login", 'You are banned');
     }
     $this->container->get("core.service.error")->throwExceptionIfHasErrors($this->getRequestError(), ResponseStatusCode::FORBIDDEN);
     $user = new User();
     $user->setLogin($request->getLogin())->setEmail($request->getEmail())->setPassword($this->generatePasswordHash($request->getPassword()));
     $this->initUserSettings($user);
     $this->saveUser($user);
     $this->generateUserToken($user);
     return $user;
 }