setDescription('Check the configuration'); return $this; } public function execute(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; } }