protected function execute(InputInterface $input, OutputInterface $output)
{
$this->container->get('security.context')->setToken(new UsernamePasswordToken('command.line', null, array(User::ROLE_SUPERADMIN)));
$userManager = $this->container->get('fos_user.user_manager');
$user = $userManager->createUser();
$user->setUsername($input->getArgument('username'));
$user->setEmail($input->getArgument('email'));
$user->setPlainPassword($input->getArgument('password'));
$user->setEnabled(!$input->getOption('inactive'));
$user->setSuperAdmin(!!$input->getOption('super-admin'));
$userManager->updateUser($user);
if ($this->container->has('security.acl.provider')) {
$provider = $this->container->get('security.acl.provider');
$oid = ObjectIdentity::fromDomainObject($user);
$acl = $provider->createAcl($oid);
$acl->insertObjectAce(UserSecurityIdentity::fromAccount($user), MaskBuilder::MASK_OWNER);
$provider->updateAcl($acl);
}
$output->writeln(sprintf('Created user <comment>%s</comment>', $user->getUsername()));
}