add Process component

This commit is contained in:
Simon Vieille 2019-04-24 12:26:25 +02:00
parent c60d40fe83
commit 356837b136
Signed by: deblan
GPG Key ID: 03383D15A1D31745
2 changed files with 13 additions and 2 deletions

View File

@ -5,6 +5,7 @@
} }
}, },
"require": { "require": {
"symfony/console": "^4.2" "symfony/console": "^4.2",
"symfony/process": "^4.2"
} }
} }

View File

@ -7,6 +7,7 @@ use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Command\Command as BaseCommand; use Symfony\Component\Console\Command\Command as BaseCommand;
use Symfony\Component\Console\Helper\Table; use Symfony\Component\Console\Helper\Table;
use Symfony\Component\Process\Process;
/** /**
* class CheckCommand. * class CheckCommand.
@ -83,7 +84,16 @@ class CheckCommand extends BaseCommand
protected function check($domain) protected function check($domain)
{ {
$whois = shell_exec(sprintf('whois %s', escapeshellarg($domain))); $process = new Process(['whois', $domain]);
$process->run();
if (!$process->isSuccessful()) {
$this->fails[] = [$domain, 'FAIL'];
return;
}
$whois = $process->getOutput();
preg_match('/Expiry Date: ([^\s]+)/i', $whois, $match); preg_match('/Expiry Date: ([^\s]+)/i', $whois, $match);