site-accueil-insa/matomo/core/Plugin/ConsoleCommand.php

57 lines
1.4 KiB
PHP

<?php
/**
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
namespace Piwik\Plugin;
use Symfony\Component\Console\Command\Command as SymfonyCommand;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
/**
* The base class for console commands.
*
* @api
*/
class ConsoleCommand extends SymfonyCommand
{
public function writeSuccessMessage(OutputInterface $output, $messages)
{
$output->writeln('');
foreach ($messages as $message) {
$output->writeln('<info>' . $message . '</info>');
}
$output->writeln('');
}
public function writeComment(OutputInterface $output, $messages)
{
$output->writeln('');
foreach ($messages as $message) {
$output->writeln('<comment>' . $message . '</comment>');
}
$output->writeln('');
}
protected function checkAllRequiredOptionsAreNotEmpty(InputInterface $input)
{
$options = $this->getDefinition()->getOptions();
foreach ($options as $option) {
$name = $option->getName();
$value = $input->getOption($name);
if ($option->isValueRequired() && empty($value)) {
throw new \InvalidArgumentException(sprintf('The required option --%s is not set', $name));
}
}
}
}