Пример #1
0
 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;
 }
Пример #2
0
 /**
  * @param Input  $input
  * @param Output $output
  * @return void
  */
 public function execute(Input $input, Output $output)
 {
     $output->writeln('hello world');
 }