Skip to content

Commit

Permalink
Merge pull request owncloud#8748 from owncloud/cli_maintenance_mode
Browse files Browse the repository at this point in the history
Add ability to enable/disable maintenance mode from cli.

* owncloud/cli_maintenance_mode:
  Use OC\Config instead of OC_Config
  Changed class name to mode
  Add ability to enable/disable maintenance mode from cli.
  • Loading branch information
Andreas Fischer committed May 29, 2014
2 parents 3ef9570 + 43759f1 commit 678a6b9
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 0 deletions.
61 changes: 61 additions & 0 deletions core/command/maintenance/mode.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<?php
/**
* Copyright (c) 2013 Robin Appelman <icewind@owncloud.com> and
* Copyright (c) 2014 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 OC\Config;

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 Mode extends Command {

protected $config;

public function __construct(Config $config) {
$this->config = $config;
parent::__construct();
}

protected function configure() {
$this
->setName('maintenance:mode')
->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')) {
$this->config->setValue('maintenance', true);
$output->writeln('Maintenance mode enabled');
} elseif ($input->getOption('off')) {
$this->config->setValue('maintenance', false);
$output->writeln('Maintenance mode disabled');
} else {
if ($this->config->getValue('maintenance', false)) {
$output->writeln('Maintenance mode is currently enabled');
} else {
$output->writeln('Maintenance mode is currently disabled');
}
}
}
}
1 change: 1 addition & 0 deletions core/register_command.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
$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\Mode(OC_Config::getObject()));
$application->add(new OC\Core\Command\App\Disable());
$application->add(new OC\Core\Command\App\Enable());
$application->add(new OC\Core\Command\App\ListApps());
Expand Down

0 comments on commit 678a6b9

Please sign in to comment.