Sulu\Bundle\SecurityBundle\Entity\UserRepository::findUserByIdentifier PHP Method

findUserByIdentifier() public method

public findUserByIdentifier ( $identifier )
    public function findUserByIdentifier($identifier)
    {
        $qb = $this->getUserWithPermissionsQuery()->where('user.email=:email')->orWhere('user.username=:username');
        $query = $qb->getQuery();
        $query->setParameter('email', $identifier);
        $query->setParameter('username', $identifier);
        return $query->getSingleResult();
    }

Usage Example

 /**
  * {@inheritdoc}
  */
 public function handle(Form $form, $webSpaceKey, array $options = [])
 {
     $data = $form->getData();
     $usernameEmail = $data[PasswordForgetType::FIELD_NAME];
     $user = $this->userRepository->findUserByIdentifier($usernameEmail);
     if (!$user) {
         return $user;
     }
     if ($user instanceof BaseUser) {
         $user->setPasswordResetToken($this->getUniqueToken());
         $expireDateTime = (new \DateTime())->add(new \DateInterval('PT24H'));
         $user->setPasswordResetTokenExpiresAt($expireDateTime);
         $user->setPasswordResetTokenEmailsSent($user->getPasswordResetTokenEmailsSent() + 1);
     }
     $this->entityManager->persist($user);
     $this->entityManager->flush();
     return $user;
 }