repo = $repo; $this->router = $router; } protected function configure() { $this ->setDescription('List mailings') ->addOption('feed', null, InputOption::VALUE_NONE, 'Show URLs of feeds') ; } protected function execute(InputInterface $input, OutputInterface $output): int { $io = new SymfonyStyle($input, $output); $showFeed = $input->getOption('feed'); $headers = ['Label', 'ID', 'Feed', 'Public', 'Created at', 'Updated at']; $rows = []; $entities = $this->repo->findAll([], ['createdAt' => 'DEC']); foreach ($entities as $entity) { $row = [ $entity->getLabel(), $entity->getId(), $this->router->generate( 'mailing_rss', ['mailing' => $entity->getId()], UrlGeneratorInterface::ABSOLUTE_URL ), $entity->getIsPublic() ? 'y' : 'n', $entity->getCreatedAt()->format('Y-m-d H:i:s'), $entity->getUpdatedAt()->format('Y-m-d H:i:s'), ]; if (!$showFeed) { unset($row[2]); } $rows[] = $row; } if (!$showFeed) { unset($headers[2]); } $io->table($headers, $rows); return Command::SUCCESS; } }