phpbb\console\command\update\check::check_ext PHP Method

check_ext() protected method

Check if a given extension is up to date
protected check_ext ( Symfony\Component\Console\Input\InputInterface $input, SymfonyStyle $io, string $stability, boolean $recheck, string $ext_name ) : integer
$input Symfony\Component\Console\Input\InputInterface Input stream, used to get the options.
$io Symfony\Component\Console\Style\SymfonyStyle IO handler, for formatted and unified IO
$stability string Force a given stability
$recheck boolean Disallow the use of the cache
$ext_name string The extension name
return integer
    protected function check_ext(InputInterface $input, SymfonyStyle $io, $stability, $recheck, $ext_name)
    {
        try {
            $ext_manager = $this->phpbb_container->get('ext.manager');
            $md_manager = $ext_manager->create_extension_metadata_manager($ext_name, null);
            $updates_available = $ext_manager->version_check($md_manager, $recheck, false, $stability);
            $metadata = $md_manager->get_metadata('all');
            if ($input->getOption('verbose')) {
                $io->title($md_manager->get_metadata('display-name'));
                $io->note($this->language->lang('CURRENT_VERSION') . $this->language->lang('COLON') . ' ' . $metadata['version']);
            }
            if (!empty($updates_available)) {
                if ($input->getOption('verbose')) {
                    $io->caution($this->language->lang('NOT_UP_TO_DATE', $metadata['name']));
                    $this->display_versions($io, $updates_available);
                }
                return 1;
            } else {
                if ($input->getOption('verbose')) {
                    $io->success($this->language->lang('UPDATE_NOT_NEEDED'));
                }
                return 0;
            }
        } catch (\RuntimeException $e) {
            $io->error($this->language->lang('EXTENSION_NOT_INSTALLED', $ext_name));
            return 1;
        }
    }