plugins = $plugins; parent::__construct(); } /** * {@inheritdoc} */ protected function configure() { $this ->setName('kimai:plugins') ->setDescription('Receive plugin information') ->setHelp('This command prints detailed plugin information.') ; } /** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $io = new SymfonyStyle($input, $output); $plugins = $this->plugins->getPlugins(); if (empty($plugins)) { $io->warning('No plugins installed'); return 0; } $rows = []; foreach ($plugins as $plugin) { $this->plugins->loadMetadata($plugin); $meta = $plugin->getMetadata(); $rows[] = [ $plugin->getName(), $meta->getVersion(), $meta->getKimaiVersion(), $plugin->getPath(), ]; } $io->table(['Name', 'Version', 'Requires', 'Directory'], $rows); return 0; } }