summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2013-11-26 14:12:48 +0100
committerRobin Appelman <icewind@owncloud.com>2013-11-26 14:12:48 +0100
commit10d84f6e9b5a5b001458d12c6b0a489bec1ba00d (patch)
tree10273d9ff8b189bad866d586bb899ebbbf0407de
parenteca9f69282a936200bd70b872ae48a4c2ddf0bc5 (diff)
downloadnextcloud-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.php41
-rw-r--r--core/register_command.php1
-rw-r--r--lib/private/repair.php21
-rw-r--r--lib/private/updater.php6
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');
}