/** * @param UserInterface|SmallUserInterface $user * @return boolean */ protected function handleAuth4UserLogin(SmallUserInterface $user) { if ($this->isRegisterDynamicImport()) { /** @var \PServerCore\Entity\Repository\User $userRepository */ $userRepository = $this->entityManager->getRepository($this->collectionOptions->getEntityOptions()->getUser()); if (!$userRepository->getUser4UserName($user->getUsername())) { /** @var UserInterface $backendUser */ if ($backendUser = $this->gameDataService->getUser4Login($user)) { if (!$backendUser->getCreateIp()) { $backendUser->setCreateIp($this->ipService->getIp()); } // we only save valid names try { if (!(new EmailAddress())->isValid($backendUser->getEmail())) { $backendUser->setEmail(''); } } catch (\Exception $e) { $backendUser->setEmail(''); } $backendUser->setPassword($this->bCrypt($user->getPassword())); $entityManager = $this->entityManager; $entityManager->persist($backendUser); $entityManager->flush(); $this->setAvailableCountries4User($backendUser, $this->ipService->getIp()); $this->addDefaultRole($backendUser); $this->doAuthentication($backendUser); return true; } } } return parent::handleAuth4UserLogin($user); }