]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add ability to enable/disable maintenance mode from cli.
authorscolebrook <scolebrook@mac.com>
Tue, 27 May 2014 17:03:53 +0000 (13:03 -0400)
committerscolebrook <scolebrook@mac.com>
Tue, 27 May 2014 17:03:53 +0000 (13:03 -0400)
core/command/maintenance/mmode.php [new file with mode: 0644]
core/register_command.php

diff --git a/core/command/maintenance/mmode.php b/core/command/maintenance/mmode.php
new file mode 100644 (file)
index 0000000..be007c5
--- /dev/null
@@ -0,0 +1,52 @@
+<?php
+/**
+ * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
+ * and Stephen Colebrook <scolebrook@mac.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\Core\Command\Maintenance;
+
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Output\OutputInterface;
+
+class MMode extends Command {
+
+       protected function configure() {
+               $this
+                       ->setName('maintenance:mmode')
+                       ->setDescription('set maintenance mode')
+                       ->addOption(
+                               'on',
+                               null,
+                               InputOption::VALUE_NONE,
+                               'enable maintenance mode'
+                       )
+                       ->addOption(
+                               'off',
+                               null,
+                               InputOption::VALUE_NONE,
+                               'disable maintenance mode'
+                       );
+       }
+
+       protected function execute(InputInterface $input, OutputInterface $output) {
+               if ($input->getOption('on')) {
+                       \OC_Config::setValue('maintenance', true);
+                       $output->writeln('Maintenance mode enabled');
+               } elseif ($input->getOption('off')) {
+                       \OC_Config::setValue('maintenance', false);
+                       $output->writeln('Maintenance mode disabled');
+               } else {
+                       if (\OC_Config::getValue('maintenance', false)) {
+                               $output->writeln('Maintenance mode is currently enabled');
+                       } else {
+                               $output->writeln('Maintenance mode is currently disabled');
+                       }
+               }
+       }
+}
index f1361c859fcd79e0aa62c91bca2b13d73beca48f..cad5606b2e1d654dda5ead16f7779466c27cb8eb 100644 (file)
@@ -12,6 +12,7 @@ $application->add(new OC\Core\Command\Db\GenerateChangeScript());
 $application->add(new OC\Core\Command\Db\ConvertType(OC_Config::getObject(), new \OC\DB\ConnectionFactory()));
 $application->add(new OC\Core\Command\Upgrade());
 $application->add(new OC\Core\Command\Maintenance\SingleUser());
+$application->add(new OC\Core\Command\Maintenance\MMode());
 $application->add(new OC\Core\Command\App\Disable());
 $application->add(new OC\Core\Command\App\Enable());
 $application->add(new OC\Core\Command\App\ListApps());