public function execute(Input $input, Output $output) { $username = $this->getUsername($input); $pwd = $this->getPwd($input); $salt = $this->getSalt($input); $email = $this->getEmail($input); $password = Signature::instance([$username, $pwd], UserInterface::SALT)->toMd5(); $container = $this->getContainer(); $event = new BaseEvent(); $event->setContainer($container); try { $repository = $event->getParameters('admin-bundle.repository'); $connection = $event->getParameters('admin-bundle.connection'); $managerRepository = $event->getConnection($connection)->getRepository($repository); } catch (\Exception $e) { throw new ServerInternalErrorException('Admin bundle is unconfiguration. Parameters "redirect_url", "repository", "connection"'); } if (!$managerRepository instanceof UserInterface) { throw new ServerInternalErrorException(sprintf('Repository implements extends "[%s]"', UserInterface::class)); } $result = $managerRepository->getConnection()->createQuery('select count(1) as total from ' . $managerRepository->getTable() . ' where ' . $managerRepository->getUsernameField() . ' = \'' . $username . '\'')->getQuery()->getOne('total'); if ($result > 0) { $output->writeln(sprintf('User "%s" is exists.', $user[$managerRepository->getUsernameField()]), Output::STYLE_BG_INFO); $output->writeln($managerRepository->getUsernameField() . ': ' . $user[$managerRepository->getUsernameField()], Output::STYLE_SUCCESS); $output->writeln($managerRepository->getPasswordField() . ': ' . $user[$managerRepository->getPasswordField()], Output::STYLE_SUCCESS); $output->writeln($managerRepository->getEmailField() . ': ' . $user[$managerRepository->getEmailField()], Output::STYLE_SUCCESS); return 0; } $data = [$managerRepository->getUsernameField() => $username, $managerRepository->getEmailField() => $email, $managerRepository->getPasswordField() => $password]; foreach ($data as $key => $value) { if (empty($key)) { unset($data[$key]); } } if (false !== $managerRepository->insert($data)) { $output->writeln($managerRepository->getUsernameField() . ': ' . $username, Output::STYLE_SUCCESS); $output->writeln($managerRepository->getPasswordField() . ': ' . $pwd, Output::STYLE_SUCCESS); $output->writeln($managerRepository->getEmailField() . ': ' . $email, Output::STYLE_SUCCESS); return 0; } $output->writeln('make fiald. error. ' . json_encode($managerRepository->getErrors())); return 1; }
/** * @param Input $input * @param Output $output * @return void */ public function execute(Input $input, Output $output) { $output->writeln('hello world'); }