Skip to content
Extraits de code Groupes Projets
Valider 45a7a270 rédigé par Thomas Steur's avatar Thomas Steur Validation de Stefan Giehl
Parcourir les fichiers

Add possibility to filter list of plugins (#11687)

By specifying an option like `--filter-plugin="Core"` it will only list plugin names that contain the filter / search term.

This is useful when you have many plugins installed or when you want to do a simple check if a plugin is installed or not etc.
parent 108f3cde
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -12,6 +12,7 @@ use Piwik\Plugin\ConsoleCommand;
use Piwik\Plugin\Manager;
use Symfony\Component\Console\Helper\Table;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
/**
......@@ -23,6 +24,7 @@ class ListPlugins extends ConsoleCommand
{
$this->setName('plugin:list');
$this->setDescription('List installed plugins.');
$this->addOption('filter-plugin', null, InputOption::VALUE_OPTIONAL, 'If given, prints only plugins that contain this term.');
}
protected function execute(InputInterface $input, OutputInterface $output)
......@@ -31,6 +33,14 @@ class ListPlugins extends ConsoleCommand
$plugins = $pluginManager->getInstalledPluginsName();
$pluginFilter = $input->getOption('filter-plugin');
if (!empty($pluginFilter)) {
$plugins = array_filter($plugins, function ($pluginName) use ($pluginFilter) {
return strpos($pluginName, $pluginFilter) !== false;
});
}
$plugins = array_map(function ($plugin) use ($pluginManager) {
return array(
'<info>' . $plugin . '</info>',
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter