protected function execute(InputInterface $input, OutputInterface $output) { $includeExpensive = $input->getOption('include-expensive'); if ($includeExpensive) { foreach ($this->repair->getExpensiveRepairSteps() as $step) { $this->repair->addStep($step); } } $maintenanceMode = $this->config->getSystemValue('maintenance', false); $this->config->setSystemValue('maintenance', true); $this->repair->listen('\\OC\\Repair', 'step', function ($description) use($output) { $output->writeln(' - ' . $description); }); $this->repair->listen('\\OC\\Repair', 'info', function ($description) use($output) { $output->writeln(' - ' . $description); }); $this->repair->listen('\\OC\\Repair', 'warning', function ($description) use($output) { $output->writeln(' - WARNING: ' . $description); }); $this->repair->listen('\\OC\\Repair', 'error', function ($description) use($output) { $output->writeln(' - ERROR: ' . $description); }); $this->repair->run(); $this->config->setSystemValue('maintenance', $maintenanceMode); }
protected function execute(InputInterface $input, OutputInterface $output) { $includeExpensive = $input->getOption('include-expensive'); if ($includeExpensive) { foreach ($this->repair->getExpensiveRepairSteps() as $step) { $this->repair->addStep($step); } } $apps = \OC::$server->getAppManager()->getInstalledApps(); foreach ($apps as $app) { if (!\OC_App::isEnabled($app)) { continue; } $info = \OC_App::getAppInfo($app); if (!is_array($info)) { continue; } $steps = $info['repair-steps']['post-migration']; foreach ($steps as $step) { try { $this->repair->addStep($step); } catch (Exception $ex) { $output->writeln("<error>Failed to load repair step for {$app}: {$ex->getMessage()}</error>"); } } } $maintenanceMode = $this->config->getSystemValue('maintenance', false); $this->config->setSystemValue('maintenance', true); $this->progress = new ProgressBar($output); $this->output = $output; $this->dispatcher->addListener('\\OC\\Repair::startProgress', [$this, 'handleRepairFeedBack']); $this->dispatcher->addListener('\\OC\\Repair::advance', [$this, 'handleRepairFeedBack']); $this->dispatcher->addListener('\\OC\\Repair::finishProgress', [$this, 'handleRepairFeedBack']); $this->dispatcher->addListener('\\OC\\Repair::step', [$this, 'handleRepairFeedBack']); $this->dispatcher->addListener('\\OC\\Repair::info', [$this, 'handleRepairFeedBack']); $this->dispatcher->addListener('\\OC\\Repair::warning', [$this, 'handleRepairFeedBack']); $this->dispatcher->addListener('\\OC\\Repair::error', [$this, 'handleRepairFeedBack']); $this->repair->run(); $this->config->setSystemValue('maintenance', $maintenanceMode); }