. * --------------------------------------------------------------------- */ namespace Glpi\Console\System; if (!defined('GLPI_ROOT')) { die("Sorry. You can't access this file directly"); } use Glpi\Console\AbstractCommand; use Glpi\System\Status\StatusChecker; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; class CheckStatusCommand extends AbstractCommand { protected function configure() { parent::configure(); $this->setName('glpi:system:status'); $this->setAliases(['system:status']); $this->setDescription(__('Check system status')); $this->addOption('format', 'f', InputOption::VALUE_OPTIONAL, 'Output format [plain or json]', 'plain'); $this->addOption('private', 'p', InputOption::VALUE_NONE, 'Status information publicity. Private status information may contain potentially sensitive information such as version information.'); } protected function execute(InputInterface $input, OutputInterface $output) { $format = strtolower($input->getOption('format')); $status = StatusChecker::getFullStatus(!$input->getOption('private'), $format === 'json'); if ($format === 'json') { $output->writeln(json_encode($status, JSON_PRETTY_PRINT)); } else { $output->writeln($status); } return 0; // Success } }