setDescription('Check the configuration');
return $this;
}
public function requireSetup()
{
return false;
}
protected function doExecute(InputInterface $input, OutputInterface $output)
{
if ( ! function_exists('_')) {
$output->writeln('YOU MUST ENABLE GETTEXT SUPPORT TO USE PHRASEANET');
$output->writeln('Canceled');
return 1;
}
$ok = true;
if (setup::is_installed()) {
$registry = registry::get_instance();
$output->writeln(_('*** CHECK BINARY CONFIGURATION ***'));
$ok = $this->processConstraints(setup::check_binaries($registry), $output) && $ok;
$output->writeln("");
} else {
$registry = new Setup_Registry();
}
$output->writeln(_('*** FILESYSTEM CONFIGURATION ***'));
$ok = $this->processConstraints(setup::check_writability($registry), $output) && $ok;
$output->writeln("");
$output->writeln(_('*** CHECK CACHE OPCODE ***'));
$ok = $this->processConstraints(setup::check_cache_opcode(), $output) && $ok;
$output->writeln("");
$output->writeln(_('*** CHECK CACHE SERVER ***'));
$ok = $this->processConstraints(setup::check_cache_server(), $output) && $ok;
$output->writeln("");
$output->writeln(_('*** CHECK PHP CONFIGURATION ***'));
$ok = $this->processConstraints(setup::check_php_configuration(), $output) && $ok;
$output->writeln("");
$output->writeln(_('*** CHECK PHP EXTENSIONS ***'));
$ok = $this->processConstraints(setup::check_php_extension(), $output) && $ok;
$output->writeln("");
$output->writeln(_('*** CHECK PHRASEA ***'));
$ok = $this->processConstraints(setup::check_phrasea(), $output) && $ok;
$output->writeln("");
$output->writeln(_('*** CHECK SYSTEM LOCALES ***'));
$ok = $this->processConstraints(setup::check_system_locales(), $output) && $ok;
$output->writeln("");
$output->write('Finished !', true);
return (int) ! $ok;
}
protected function processConstraints(Setup_ConstraintsIterator $constraints, OutputInterface &$output)
{
$hasError = false;
foreach ($constraints as $constraint) {
if ( ! $this->processConstraint($constraint, $output)) {
$hasError = true;
}
}
return ! $hasError;
}
protected function processConstraint(Setup_Constraint $constraint, OutputInterface &$output)
{
$ok = true;
if ($constraint->is_ok()) {
$output->writeln("\t\t" . $constraint->get_message() . '');
} elseif ($constraint->is_blocker()) {
$output->writeln("\t!!!\t" . $constraint->get_message() . '');
$ok = false;
} else {
$output->writeln("\t/!\\\t" . $constraint->get_message() . '');
}
return $ok;
}
}