Browse Source

add upgrade command before repair, handle NeedsUpgradeExcaption better

pull/1891/head
Jörn Friedrich Dreyer 9 years ago
committed by Morris Jobke
parent
commit
817729dc3f
No known key found for this signature in database GPG Key ID: 9CE5ED29E7FCD38A
  1. 6
      core/register_command.php
  2. 15
      lib/private/Console/Application.php

6
core/register_command.php

@ -123,13 +123,13 @@ if (\OC::$server->getConfig()->getSystemValue('installed', false)) {
$application->add(new OC\Core\Command\Maintenance\Mimetype\UpdateDB(\OC::$server->getMimeTypeDetector(), \OC::$server->getMimeTypeLoader()));
$application->add(new OC\Core\Command\Maintenance\Mimetype\UpdateJS(\OC::$server->getMimeTypeDetector()));
$application->add(new OC\Core\Command\Maintenance\Mode(\OC::$server->getConfig()));
$application->add(new OC\Core\Command\Maintenance\Repair(
new \OC\Repair(\OC\Repair::getRepairSteps(), \OC::$server->getEventDispatcher()), \OC::$server->getConfig(),
\OC::$server->getEventDispatcher()));
$application->add(new OC\Core\Command\Maintenance\SingleUser(\OC::$server->getConfig()));
$application->add(new OC\Core\Command\Maintenance\UpdateHtaccess());
$application->add(new OC\Core\Command\Upgrade(\OC::$server->getConfig(), \OC::$server->getLogger()));
$application->add(new OC\Core\Command\Maintenance\Repair(
new \OC\Repair(\OC\Repair::getRepairSteps(), \OC::$server->getEventDispatcher()), \OC::$server->getConfig(),
\OC::$server->getEventDispatcher()));
$application->add(new OC\Core\Command\User\Add(\OC::$server->getUserManager(), \OC::$server->getGroupManager()));
$application->add(new OC\Core\Command\User\Delete(\OC::$server->getUserManager()));

15
lib/private/Console/Application.php

@ -26,6 +26,7 @@
*/
namespace OC\Console;
use OC\NeedsUpdateException;
use OC_App;
use OCP\AppFramework\QueryException;
use OCP\Console\ConsoleEvent;
@ -84,13 +85,11 @@ class Application {
if ($input->getOption('no-warnings')) {
$output->setVerbosity(OutputInterface::VERBOSITY_QUIET);
}
try {
require_once __DIR__ . '/../../../core/register_command.php';
if ($this->config->getSystemValue('installed', false)) {
if (\OCP\Util::needUpgrade()) {
if ($input->getArgument('command') !== '_completion') {
$output->writeln("Nextcloud or one of the apps require upgrade - only a limited number of commands are available");
$output->writeln("You may use your browser or the occ upgrade command to do the upgrade");
}
throw new NeedsUpdateException();
} elseif ($this->config->getSystemValue('maintenance', false)) {
if ($input->getArgument('command') !== '_completion') {
$output->writeln("Nextcloud is in maintenance mode - no apps have been loaded");
@ -99,7 +98,7 @@ class Application {
OC_App::loadApps();
foreach (\OC::$server->getAppManager()->getInstalledApps() as $app) {
$appPath = \OC_App::getAppPath($app);
if($appPath === false) {
if ($appPath === false) {
continue;
}
// load commands using info.xml
@ -118,6 +117,12 @@ class Application {
} else if ($input->getArgument('command') !== '_completion') {
$output->writeln("Nextcloud is not installed - only a limited number of commands are available");
}
} catch(NeedsUpdateException $e) {
if ($input->getArgument('command') !== '_completion') {
$output->writeln("Nextcloud or one of the apps require upgrade - only a limited number of commands are available");
$output->writeln("You may use your browser or the occ upgrade command to do the upgrade");
}
}
if ($input->getFirstArgument() !== 'check') {
$errors = \OC_Util::checkServer(\OC::$server->getConfig());

Loading…
Cancel
Save