[Pkg-owncloud-commits] [owncloud] 08/74: Add repair steps for legacy config files
David Prévot
taffit at moszumanska.debian.org
Tue Dec 2 22:04:33 UTC 2014
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository owncloud.
commit c8a48272c5b0d09749bdbd226e334d067c61a280
Author: Lukas Reschke <lukas at owncloud.com>
Date: Thu Nov 13 13:34:11 2014 +0100
Add repair steps for legacy config files
Remove all ports from the trusted domains
---
lib/private/repair.php | 3 ++-
lib/repair/repairconfig.php | 54 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 56 insertions(+), 1 deletion(-)
diff --git a/lib/private/repair.php b/lib/private/repair.php
index 6cdcc31..98bf37f 100644
--- a/lib/private/repair.php
+++ b/lib/private/repair.php
@@ -83,7 +83,8 @@ class Repair extends BasicEmitter {
$steps = array(
new \OC\Repair\InnoDB(),
new \OC\Repair\Collation(\OC::$server->getConfig(), \OC_DB::getConnection()),
- new \OC\Repair\SearchLuceneTables()
+ new \OC\Repair\SearchLuceneTables(),
+ new \OC\Repair\RepairConfig()
);
//There is no need to delete all previews on every single update
diff --git a/lib/repair/repairconfig.php b/lib/repair/repairconfig.php
new file mode 100644
index 0000000..22fa99d
--- /dev/null
+++ b/lib/repair/repairconfig.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Copyright (c) 2014 Lukas Reschke <lukas at owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\Repair;
+
+use OC\Hooks\BasicEmitter;
+use OC\RepairStep;
+use Sabre\DAV\Exception;
+
+/**
+ * Class RepairConfig
+ *
+ * @package OC\Repair
+ */
+class RepairConfig extends BasicEmitter implements RepairStep {
+
+ /**
+ * @return string
+ */
+ public function getName() {
+ return 'Repair config';
+ }
+
+ /**
+ * Updates the configuration after running an update
+ */
+ public function run() {
+ $this->removePortsFromTrustedDomains();
+ }
+
+ /**
+ * Remove ports from existing trusted domains in config.php
+ */
+ private function removePortsFromTrustedDomains() {
+ $trustedDomains = \OC::$server->getConfig()->getSystemValue('trusted_domains', array());
+ $newTrustedDomains = array();
+ foreach($trustedDomains as $domain) {
+ $pos = strrpos($domain, ':');
+ if ($pos !== false) {
+ $port = substr($domain, $pos + 1);
+ if (is_numeric($port)) {
+ $domain = substr($domain, 0, $pos);
+ }
+ }
+ $newTrustedDomains[] = $domain;
+ }
+ \OC::$server->getConfig()->setSystemValue('trusted_domains', $newTrustedDomains);
+ }
+}
\ No newline at end of file
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git
More information about the Pkg-owncloud-commits
mailing list