diff options
author | Robin Appelman <icewind@owncloud.com> | 2013-11-26 14:12:48 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2013-11-26 14:12:48 +0100 |
commit | 10d84f6e9b5a5b001458d12c6b0a489bec1ba00d (patch) | |
tree | 10273d9ff8b189bad866d586bb899ebbbf0407de | |
parent | eca9f69282a936200bd70b872ae48a4c2ddf0bc5 (diff) | |
download | nextcloud-server-10d84f6e9b5a5b001458d12c6b0a489bec1ba00d.tar.gz nextcloud-server-10d84f6e9b5a5b001458d12c6b0a489bec1ba00d.zip |
Add a (currently) empty system for running common repair steps
-rw-r--r-- | core/command/maintenance/repair.php | 41 | ||||
-rw-r--r-- | core/register_command.php | 1 | ||||
-rw-r--r-- | lib/private/repair.php | 21 | ||||
-rw-r--r-- | lib/private/updater.php | 6 |
4 files changed, 68 insertions, 1 deletions
diff --git a/core/command/maintenance/repair.php b/core/command/maintenance/repair.php new file mode 100644 index 00000000000..c5ef0c55cc0 --- /dev/null +++ b/core/command/maintenance/repair.php @@ -0,0 +1,41 @@ +<?php +/** + * Copyright (c) 2013 Robin Appelman <icewind@owncloud.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\Output\OutputInterface; + +class Repair extends Command { + /** + * @var \OC\Repair $repair + */ + protected $repair; + + /** + * @param \OC\Repair $repair + */ + public function __construct($repair) { + $this->repair = $repair; + parent::__construct(); + } + + protected function configure() { + $this + ->setName('maintenance:repair') + ->setDescription('set single user mode'); + } + + protected function execute(InputInterface $input, OutputInterface $output) { + $this->repair->listen('\OC\Repair', 'step', function ($description) use ($output) { + $output->writeln(' - ' . $description); + }); + $this->repair->run(); + } +} diff --git a/core/register_command.php b/core/register_command.php index 1e520e38825..e4f3b124365 100644 --- a/core/register_command.php +++ b/core/register_command.php @@ -14,3 +14,4 @@ $application->add(new OC\Core\Command\Maintenance\SingleUser()); $application->add(new OC\Core\Command\App\Disable()); $application->add(new OC\Core\Command\App\Enable()); $application->add(new OC\Core\Command\App\ListApps()); +$application->add(new OC\Core\Command\Maintenance\Repair(new \OC\Repair())); diff --git a/lib/private/repair.php b/lib/private/repair.php new file mode 100644 index 00000000000..e9de3baa7ce --- /dev/null +++ b/lib/private/repair.php @@ -0,0 +1,21 @@ +<?php +/** + * Copyright (c) 2013 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC; + +use OC\Hooks\BasicEmitter; + +class Repair extends BasicEmitter { + /** + * run a series of repair steps for common problems + * progress can be reported by emitting \OC\Repair::step events + */ + public function run() { + $this->emit('\OC\Repair', 'step', array('No repair steps configured at the moment')); + } +} diff --git a/lib/private/updater.php b/lib/private/updater.php index a1b07c5a242..764a0f14120 100644 --- a/lib/private/updater.php +++ b/lib/private/updater.php @@ -37,7 +37,7 @@ class Updater extends BasicEmitter { /** * Check if a new version is available - * @param string $updateUrl the url to check, i.e. 'http://apps.owncloud.com/updater.php' + * @param string $updaterUrl the url to check, i.e. 'http://apps.owncloud.com/updater.php' * @return array | bool */ public function check($updaterUrl) { @@ -116,6 +116,10 @@ class Updater extends BasicEmitter { \OC_App::checkAppsRequirements(); // load all apps to also upgrade enabled apps \OC_App::loadApps(); + + $repair = new Repair(); + $repair->run(); + \OC_Config::setValue('maintenance', false); $this->emit('\OC\Updater', 'maintenanceEnd'); } |