diff options
author | Michael Weimann <mail@michael-weimann.eu> | 2018-07-01 20:54:19 +0200 |
---|---|---|
committer | Michael Weimann <mail@michael-weimann.eu> | 2018-07-01 20:54:19 +0200 |
commit | 03a5856541d6b760ab9aaeaf5a30bb40a3c66b70 (patch) | |
tree | 6ede43f5997522db56ec25b2f5c4e2e7e3226c67 /lib/private/Console | |
parent | a014129804a2add09721b1d289f713a3db43aef4 (diff) | |
download | nextcloud-server-03a5856541d6b760ab9aaeaf5a30bb40a3c66b70.tar.gz nextcloud-server-03a5856541d6b760ab9aaeaf5a30bb40a3c66b70.zip |
Disables the maintenance warning for the maintenance command itself.
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
Diffstat (limited to 'lib/private/Console')
-rw-r--r-- | lib/private/Console/Application.php | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/lib/private/Console/Application.php b/lib/private/Console/Application.php index c85b67217b4..1de5fbd6ca3 100644 --- a/lib/private/Console/Application.php +++ b/lib/private/Console/Application.php @@ -39,6 +39,7 @@ use OCP\IRequest; use Symfony\Component\Console\Application as SymfonyApplication; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; +use Symfony\Component\Console\Output\ConsoleOutputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface; @@ -69,10 +70,13 @@ class Application { /** * @param InputInterface $input - * @param OutputInterface $output + * @param ConsoleOutputInterface $output * @throws \Exception */ - public function loadCommands(InputInterface $input, OutputInterface $output) { + public function loadCommands( + InputInterface $input, + ConsoleOutputInterface $output + ) { // $application is required to be defined in the register_command scripts $application = $this->application; $inputDefinition = $application->getDefinition(); @@ -99,10 +103,7 @@ class Application { if (\OCP\Util::needUpgrade()) { throw new NeedsUpdateException(); } elseif ($this->config->getSystemValue('maintenance', false)) { - if ($input->getArgument('command') !== '_completion') { - $errOutput = $output->getErrorOutput(); - $errOutput->writeln('<comment>Nextcloud is in maintenance mode - no apps have been loaded</comment>' . PHP_EOL); - } + $this->writeMaintenanceModeInfo($input, $output); } else { OC_App::loadApps(); foreach (\OC::$server->getAppManager()->getInstalledApps() as $app) { @@ -151,6 +152,28 @@ class Application { } /** + * Write a maintenance mode info. + * The commands "_completion" and "maintenance:mode" are excluded. + * + * @param InputInterface $input The input implementation for reading inputs. + * @param ConsoleOutputInterface $output The output implementation + * for writing outputs. + * @return void + */ + private function writeMaintenanceModeInfo( + InputInterface $input, ConsoleOutputInterface $output + ) { + if ($input->getArgument('command') !== '_completion' + && $input->getArgument('command') !== 'maintenance:mode') { + $errOutput = $output->getErrorOutput(); + $errOutput->writeln( + '<comment>Nextcloud is in maintenance mode - ' . + 'no apps have been loaded</comment>' . PHP_EOL + ); + } + } + + /** * Sets whether to automatically exit after a command execution or not. * * @param bool $boolean Whether to automatically exit after a command execution or not |