예제 #1
0
 /**
  * returns int
  * 0 - success
  * 1 - wrong email
  * 2 - any error
  */
 public function createUser(User $user, \Symfony\Component\Security\Core\Encoder\EncoderFactory $ef)
 {
     if ($this->em->getRepository("ErikUserBundle:User")->findBy(array("email" => $user->getEmail()))) {
         return 1;
     }
     $encoder = $ef->getEncoder($user);
     $password = $encoder->encodePassword($user->getPassword(), $user->getSalt());
     $user->setPassword($password);
     $user->setActive(true);
     $user->setBlocked(false);
     $user->addRole($this->em->getReference("ErikUserBundle:Role", Role::ROLE_USER));
     $this->em->persist($user);
     $this->em->flush();
     return $user->getId() > 0 ? 0 : 2;
 }