summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2017-07-11 17:55:04 +0200
committerRobin Appelman <robin@icewind.nl>2017-07-11 17:55:04 +0200
commitdfe662ad4222ea6eed2bce4b18aaa4e343fd4af1 (patch)
tree73226de7eab81b508c290c4d70cb421441c289c1
parent4153e1de795d0977756583e5845f849662ed6528 (diff)
downloadnextcloud-server-dfe662ad4222ea6eed2bce4b18aaa4e343fd4af1.tar.gz
nextcloud-server-dfe662ad4222ea6eed2bce4b18aaa4e343fd4af1.zip
Fix propagating changes within jail wrapper
Signed-off-by: Robin Appelman <robin@icewind.nl>
-rw-r--r--apps/files_sharing/lib/SharedStorage.php12
-rw-r--r--lib/private/Files/Cache/Wrapper/JailPropagator.php (renamed from apps/files_sharing/lib/SharedPropagator.php)28
-rw-r--r--lib/private/Files/Storage/Wrapper/Jail.php13
3 files changed, 27 insertions, 26 deletions
diff --git a/apps/files_sharing/lib/SharedStorage.php b/apps/files_sharing/lib/SharedStorage.php
index df613bf86bb..32304afea01 100644
--- a/apps/files_sharing/lib/SharedStorage.php
+++ b/apps/files_sharing/lib/SharedStorage.php
@@ -376,18 +376,6 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
return new \OCA\Files_Sharing\Scanner($storage);
}
- public function getPropagator($storage = null) {
- if (isset($this->propagator)) {
- return $this->propagator;
- }
-
- if (!$storage) {
- $storage = $this;
- }
- $this->propagator = new \OCA\Files_Sharing\SharedPropagator($storage, \OC::$server->getDatabaseConnection());
- return $this->propagator;
- }
-
public function getOwner($path) {
return $this->superShare->getShareOwner();
}
diff --git a/apps/files_sharing/lib/SharedPropagator.php b/lib/private/Files/Cache/Wrapper/JailPropagator.php
index f35a5b1d22b..297dfce6332 100644
--- a/apps/files_sharing/lib/SharedPropagator.php
+++ b/lib/private/Files/Cache/Wrapper/JailPropagator.php
@@ -1,33 +1,33 @@
<?php
/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
+ * @copyright Copyright (c) 2017 Robin Appelman <robin@icewind.nl>
*
- * @author Robin Appelman <robin@icewind.nl>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
+ * @license GNU AGPL version 3 or any later version
*
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-namespace OCA\Files_Sharing;
+namespace OC\Files\Cache\Wrapper;
+
use OC\Files\Cache\Propagator;
+use OC\Files\Storage\Wrapper\Jail;
-class SharedPropagator extends Propagator {
+class JailPropagator extends Propagator {
/**
- * @var \OCA\Files_Sharing\SharedStorage
+ * @var Jail
*/
protected $storage;
diff --git a/lib/private/Files/Storage/Wrapper/Jail.php b/lib/private/Files/Storage/Wrapper/Jail.php
index 91e8e5ed3c9..4fa2428c968 100644
--- a/lib/private/Files/Storage/Wrapper/Jail.php
+++ b/lib/private/Files/Storage/Wrapper/Jail.php
@@ -25,6 +25,7 @@
namespace OC\Files\Storage\Wrapper;
use OC\Files\Cache\Wrapper\CacheJail;
+use OC\Files\Cache\Wrapper\JailPropagator;
use OCP\Lock\ILockingProvider;
/**
@@ -488,4 +489,16 @@ class Jail extends Wrapper {
}
return $this->getWrapperStorage()->moveFromStorage($sourceStorage, $sourceInternalPath, $this->getUnjailedPath($targetInternalPath));
}
+
+ public function getPropagator($storage = null) {
+ if (isset($this->propagator)) {
+ return $this->propagator;
+ }
+
+ if (!$storage) {
+ $storage = $this;
+ }
+ $this->propagator = new JailPropagator($storage, \OC::$server->getDatabaseConnection());
+ return $this->propagator;
+ }
}