コード例 #1
0
ファイル: UserController.php プロジェクト: sinergi/users
 /**
  * @param UserEntity $userEntity
  * @param array      $parameters
  */
 public function updateUser(UserEntity $userEntity, array $parameters)
 {
     $options = [UserValidator::OPTION_SKIP_PASSWORD_VALIDATION];
     //todo : refactored this :
     $parameters = array_merge($userEntity->toArray(), $parameters);
     if ($userEntity->getEmail() === $parameters['email']) {
         $options[] = UserValidator::OPTION_SKIP_EMAIL_UNIQUENESS;
     }
     $this->getUserValidator()->validateParameters($parameters, $options);
     if ($userEntity->getEmail() !== $parameters['email']) {
         $userEntity->setPendingEmail($parameters['email']);
         (new EmailConfirmationController($this->getContainer()))->emailUpdated($userEntity);
     }
     $userEntity->setName($parameters['name'])->setPhone($parameters['phone']);
     $this->getEntityManager()->persist($userEntity);
     $this->getEntityManager()->flush($userEntity);
 }