setName("ot:site:status") ->setDescription("Displays the current state of a given website") ->setHelp("This CLI command returns a status code representing the current state of a given website") ->addOption( 'full', null, InputOption::VALUE_NONE, "Performs a full scan (with warnings)" ) ->addArgument( 'organization-id', InputArgument::REQUIRED, "The organization's id in the opentalent DB" ); } /** * -- This method is expected by Typo3, do not rename ou remove -- * * @param InputInterface $input * @param OutputInterface $output * @return int * @throws \Opentalent\OtCore\Exception\NoSuchWebsiteException * @throws \TYPO3\CMS\Extbase\Object\Exception */ protected function execute(InputInterface $input, OutputInterface $output) { $org_id = $input->getArgument('organization-id'); $full = $input->getOption('full'); $io = new SymfonyStyle($input, $output); $status = $this->siteController->getSiteStatusAction($org_id, $full); $headers = []; $values = []; foreach ($status->toArray() as $key => $value) { $headers[] = $key; $value = json_encode( str_replace("\"", "'", $value), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ); $value = trim($value, "\""); $values[] = $value; } $io->horizontalTable($headers, [$values]); $io->success(''); return 0; } }