setName('cfp-stats-notification') ->addOption('display-diff', null, InputOption::VALUE_NONE) ; } /** * @see Command */ protected function execute(InputInterface $input, OutputInterface $output) { $ting = $this->getContainer()->get('ting'); $eventRepository = $this->getContainer()->get('ting')->get(EventRepository::class); $since = null; if ($input->getOption('display-diff')) { $since = new \DateTime(); $since->modify('- 1 day'); } $currentDate = new \DateTime(); /** @var Event $event */ foreach ($eventRepository->getNextEvents() as $event) { if ($currentDate > $event->getDateEndCallForPapers()) { continue; } $message = $this->getContainer()->get(\AppBundle\Slack\MessageFactory::class)->createMessageForCfpStats( $event, $ting->get(TalkRepository::class), $ting->get(TalkToSpeakersRepository::class), $currentDate, $since ); $this->getContainer()->get(\AppBundle\Notifier\SlackNotifier::class)->sendMessage($message); } } }