diff --git a/apps/dav/lib/Connector/Sabre/Node.php b/apps/dav/lib/Connector/Sabre/Node.php index a63282c75e..3e2204cf66 100644 --- a/apps/dav/lib/Connector/Sabre/Node.php +++ b/apps/dav/lib/Connector/Sabre/Node.php @@ -250,8 +250,8 @@ abstract class Node implements \Sabre\DAV\INode { $path = $this->info->getInternalPath(); - if ($storage->instanceOfStorage('\OC\Files\Storage\Shared')) { - /** @var \OC\Files\Storage\Shared $storage */ + if ($storage->instanceOfStorage('\OCA\Files_Sharing\SharedStorage')) { + /** @var \OCA\Files_Sharing\SharedStorage $storage */ $permissions = (int)$storage->getShare()->getPermissions(); } else { $permissions = $storage->getPermissions($path); diff --git a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php index fedf76f792..18f91bbd8c 100644 --- a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php @@ -216,7 +216,7 @@ class DirectoryTest extends \Test\TestCase { $storage->expects($this->any()) ->method('instanceOfStorage') ->will($this->returnValueMap([ - '\OC\Files\Storage\Shared' => false, + '\OCA\Files_Sharing\SharedStorage' => false, '\OC\Files\Storage\Wrapper\Quota' => false, ])); @@ -247,7 +247,7 @@ class DirectoryTest extends \Test\TestCase { $storage->expects($this->any()) ->method('instanceOfStorage') ->will($this->returnValueMap([ - ['\OC\Files\Storage\Shared', false], + ['\OCA\Files_Sharing\SharedStorage', false], ['\OC\Files\Storage\Wrapper\Quota', true], ])); diff --git a/apps/federatedfilesharing/tests/TestCase.php b/apps/federatedfilesharing/tests/TestCase.php index f8a47f2733..3ce1cac860 100644 --- a/apps/federatedfilesharing/tests/TestCase.php +++ b/apps/federatedfilesharing/tests/TestCase.php @@ -113,7 +113,7 @@ abstract class TestCase extends \Test\TestCase { * reset init status for the share storage */ protected static function resetStorage() { - $storage = new \ReflectionClass('\OC\Files\Storage\Shared'); + $storage = new \ReflectionClass('\OCA\Files_Sharing\SharedStorage'); $isInitialized = $storage->getProperty('initialized'); $isInitialized->setAccessible(true); $isInitialized->setValue($storage, false); diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php index 11c4614d6c..7da295afdd 100644 --- a/apps/files_sharing/appinfo/app.php +++ b/apps/files_sharing/appinfo/app.php @@ -28,8 +28,6 @@ $l = \OC::$server->getL10N('files_sharing'); -\OC::$CLASSPATH['OC\Files\Storage\Shared'] = 'files_sharing/lib/sharedstorage.php'; - \OCA\Files_Sharing\Helper::registerHooks(); \OCP\Share::registerBackend('file', 'OCA\Files_Sharing\ShareBackend\File'); diff --git a/apps/files_sharing/lib/Cache.php b/apps/files_sharing/lib/Cache.php index 7977410f58..6444dbb8a3 100644 --- a/apps/files_sharing/lib/Cache.php +++ b/apps/files_sharing/lib/Cache.php @@ -38,7 +38,7 @@ use OCP\Files\Storage\IStorage; */ class Cache extends CacheJail { /** - * @var \OC\Files\Storage\Shared + * @var \OCA\Files_Sharing\SharedStorage */ private $storage; @@ -58,7 +58,7 @@ class Cache extends CacheJail { private $sourceCache; /** - * @param \OC\Files\Storage\Shared $storage + * @param \OCA\Files_Sharing\SharedStorage $storage * @param IStorage $sourceStorage * @param ICacheEntry $sourceRootInfo */ diff --git a/apps/files_sharing/lib/MountProvider.php b/apps/files_sharing/lib/MountProvider.php index 284728597c..1ee6f2b35f 100644 --- a/apps/files_sharing/lib/MountProvider.php +++ b/apps/files_sharing/lib/MountProvider.php @@ -81,7 +81,7 @@ class MountProvider implements IMountProvider { foreach ($superShares as $share) { try { $mounts[] = new SharedMount( - '\OC\Files\Storage\Shared', + '\OCA\Files_Sharing\SharedStorage', $mounts, [ 'user' => $user->getUID(), diff --git a/apps/files_sharing/lib/Scanner.php b/apps/files_sharing/lib/Scanner.php index 6982f1b461..86c6b58f43 100644 --- a/apps/files_sharing/lib/Scanner.php +++ b/apps/files_sharing/lib/Scanner.php @@ -55,7 +55,7 @@ class Scanner extends \OC\Files\Cache\Scanner { if ($this->sourceScanner) { return $this->sourceScanner; } - if ($this->storage->instanceOfStorage('\OC\Files\Storage\Shared')) { + if ($this->storage->instanceOfStorage('\OCA\Files_Sharing\SharedStorage')) { /** @var \OC\Files\Storage\Storage $storage */ list($storage) = $this->storage->resolvePath(''); $this->sourceScanner = $storage->getScanner(); diff --git a/apps/files_sharing/lib/SharedMount.php b/apps/files_sharing/lib/SharedMount.php index 13ecd88bfa..5436f476f1 100644 --- a/apps/files_sharing/lib/SharedMount.php +++ b/apps/files_sharing/lib/SharedMount.php @@ -37,7 +37,7 @@ use OC\Files\View; */ class SharedMount extends MountPoint implements MoveableMount { /** - * @var \OC\Files\Storage\Shared $storage + * @var \OCA\Files_Sharing\SharedStorage $storage */ protected $storage = null; @@ -212,7 +212,7 @@ class SharedMount extends MountPoint implements MoveableMount { */ public function removeMount() { $mountManager = \OC\Files\Filesystem::getMountManager(); - /** @var $storage \OC\Files\Storage\Shared */ + /** @var $storage \OCA\Files_Sharing\SharedStorage */ $storage = $this->getStorage(); $result = $storage->unshareStorage(); $mountManager->removeMount($this->mountPoint); diff --git a/apps/files_sharing/lib/SharedPropagator.php b/apps/files_sharing/lib/SharedPropagator.php index cd4aab3b52..0273744da1 100644 --- a/apps/files_sharing/lib/SharedPropagator.php +++ b/apps/files_sharing/lib/SharedPropagator.php @@ -27,7 +27,7 @@ use OC\Files\Cache\Propagator; class SharedPropagator extends Propagator { /** - * @var \OC\Files\Storage\Shared + * @var \OCA\Files_Sharing\SharedStorage */ protected $storage; diff --git a/apps/files_sharing/lib/sharedstorage.php b/apps/files_sharing/lib/SharedStorage.php similarity index 98% rename from apps/files_sharing/lib/sharedstorage.php rename to apps/files_sharing/lib/SharedStorage.php index e1875fe239..78a63ac5bb 100644 --- a/apps/files_sharing/lib/sharedstorage.php +++ b/apps/files_sharing/lib/SharedStorage.php @@ -29,11 +29,10 @@ * */ -namespace OC\Files\Storage; +namespace OCA\Files_Sharing; use OC\Files\Filesystem; use OC\Files\Cache\FailedCache; -use OCA\Files_Sharing\ISharedStorage; use OCP\Constants; use OCP\Files\Cache\ICacheEntry; use OCP\Files\NotFoundException; @@ -43,7 +42,8 @@ use OCP\Lock\ILockingProvider; /** * Convert target path to source path and pass the function call to the correct storage provider */ -class Shared extends \OC\Files\Storage\Wrapper\Jail implements ISharedStorage { +class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedStorage { + /** @var \OCP\Share\IShare */ private $superShare; diff --git a/apps/files_sharing/tests/CacheTest.php b/apps/files_sharing/tests/CacheTest.php index 531aa13aa3..ae0247a84e 100644 --- a/apps/files_sharing/tests/CacheTest.php +++ b/apps/files_sharing/tests/CacheTest.php @@ -488,7 +488,7 @@ class CacheTest extends TestCase { $this->assertTrue(\OC\Files\Filesystem::file_exists('/test.txt')); list($sharedStorage) = \OC\Files\Filesystem::resolvePath('/' . self::TEST_FILES_SHARING_API_USER2 . '/files/test.txt'); /** - * @var \OC\Files\Storage\Shared $sharedStorage + * @var \OCA\Files_Sharing\SharedStorage $sharedStorage */ $sharedCache = $sharedStorage->getCache(); @@ -518,7 +518,7 @@ class CacheTest extends TestCase { $this->assertTrue(\OC\Files\Filesystem::file_exists('/foo')); list($sharedStorage) = \OC\Files\Filesystem::resolvePath('/' . self::TEST_FILES_SHARING_API_USER2 . '/files/foo'); /** - * @var \OC\Files\Storage\Shared $sharedStorage + * @var \OCA\Files_Sharing\SharedStorage $sharedStorage */ $sharedCache = $sharedStorage->getCache(); diff --git a/apps/files_sharing/tests/SharedStorageTest.php b/apps/files_sharing/tests/SharedStorageTest.php index 9be52b3feb..2486e23af1 100644 --- a/apps/files_sharing/tests/SharedStorageTest.php +++ b/apps/files_sharing/tests/SharedStorageTest.php @@ -523,7 +523,7 @@ class SharedStorageTest extends TestCase { $mount = $view2->getMount('/foo'); $this->assertInstanceOf('\OCA\Files_Sharing\SharedMount', $mount); - /** @var \OC\Files\Storage\Shared $storage */ + /** @var \OCA\Files_Sharing\SharedStorage $storage */ $storage = $mount->getStorage(); $this->assertEquals(self::TEST_FILES_SHARING_API_USER1, $storage->getOwner('')); diff --git a/apps/files_sharing/tests/TestCase.php b/apps/files_sharing/tests/TestCase.php index 1777eb5bad..a9163a086b 100644 --- a/apps/files_sharing/tests/TestCase.php +++ b/apps/files_sharing/tests/TestCase.php @@ -184,7 +184,7 @@ abstract class TestCase extends \Test\TestCase { * reset init status for the share storage */ protected static function resetStorage() { - $storage = new \ReflectionClass('\OC\Files\Storage\Shared'); + $storage = new \ReflectionClass('\OCA\Files_Sharing\SharedStorage'); $isInitialized = $storage->getProperty('initialized'); $isInitialized->setAccessible(true); $isInitialized->setValue($storage, false); diff --git a/apps/files_versions/tests/VersioningTest.php b/apps/files_versions/tests/VersioningTest.php index 6e6551089c..de79327e08 100644 --- a/apps/files_versions/tests/VersioningTest.php +++ b/apps/files_versions/tests/VersioningTest.php @@ -881,7 +881,7 @@ class VersioningTest extends \Test\TestCase { \OC::$server->getUserManager()->registerBackend($backend); } - $storage = new \ReflectionClass('\OC\Files\Storage\Shared'); + $storage = new \ReflectionClass('\OCA\Files_Sharing\SharedStorage'); $isInitialized = $storage->getProperty('initialized'); $isInitialized->setAccessible(true); $isInitialized->setValue($storage, false); diff --git a/lib/private/Encryption/DecryptAll.php b/lib/private/Encryption/DecryptAll.php index b84395b9e1..caf4237ab9 100644 --- a/lib/private/Encryption/DecryptAll.php +++ b/lib/private/Encryption/DecryptAll.php @@ -211,7 +211,7 @@ class DecryptAll { $content = $this->rootView->getDirectoryContent($root); foreach ($content as $file) { // only decrypt files owned by the user - if($file->getStorage()->instanceOfStorage('OC\Files\Storage\Shared')) { + if($file->getStorage()->instanceOfStorage('OCA\Files_Sharing\SharedStorage')) { continue; } $path = $root . '/' . $file['name']; diff --git a/lib/private/Encryption/EncryptionWrapper.php b/lib/private/Encryption/EncryptionWrapper.php index 233390f873..573fe0159e 100644 --- a/lib/private/Encryption/EncryptionWrapper.php +++ b/lib/private/Encryption/EncryptionWrapper.php @@ -81,7 +81,7 @@ class EncryptionWrapper { 'mount' => $mount ]; - if (!$storage->instanceOfStorage('OC\Files\Storage\Shared') + if (!$storage->instanceOfStorage('OCA\Files_Sharing\SharedStorage') && !$storage->instanceOfStorage('OCA\Files_Sharing\External\Storage') && !$storage->instanceOfStorage('OC\Files\Storage\OwnCloud')) { diff --git a/lib/private/Files/Storage/Common.php b/lib/private/Files/Storage/Common.php index 63d3c004fd..c975791295 100644 --- a/lib/private/Files/Storage/Common.php +++ b/lib/private/Files/Storage/Common.php @@ -466,6 +466,10 @@ abstract class Common implements Storage, ILockingStorage { * @return bool */ public function instanceOfStorage($class) { + if (ltrim($class, '\\') === 'OC\Files\Storage\Shared') { + // FIXME Temporary fix to keep existing checks working + $class = '\OCA\Files_Sharing\SharedStorage'; + } return is_a($this, $class); } diff --git a/lib/private/Files/Storage/Wrapper/Wrapper.php b/lib/private/Files/Storage/Wrapper/Wrapper.php index c52b339483..71b64d8c82 100644 --- a/lib/private/Files/Storage/Wrapper/Wrapper.php +++ b/lib/private/Files/Storage/Wrapper/Wrapper.php @@ -483,6 +483,10 @@ class Wrapper implements \OC\Files\Storage\Storage, ILockingStorage { * @return bool */ public function instanceOfStorage($class) { + if (ltrim($class, '\\') === 'OC\Files\Storage\Shared') { + // FIXME Temporary fix to keep existing checks working + $class = '\OCA\Files_Sharing\SharedStorage'; + } return is_a($this, $class) or $this->getWrapperStorage()->instanceOfStorage($class); } diff --git a/lib/private/Files/View.php b/lib/private/Files/View.php index fa6ba20c34..79c4d4cabe 100644 --- a/lib/private/Files/View.php +++ b/lib/private/Files/View.php @@ -1357,7 +1357,7 @@ class View { $subStorage = $mount->getStorage(); if ($subStorage) { // exclude shared storage ? - if ($extOnly && $subStorage instanceof \OC\Files\Storage\Shared) { + if ($extOnly && $subStorage instanceof \OCA\Files_Sharing\SharedStorage) { continue; } $subCache = $subStorage->getCache(''); diff --git a/lib/private/legacy/helper.php b/lib/private/legacy/helper.php index 0b9477dacd..65b4c0d8af 100644 --- a/lib/private/legacy/helper.php +++ b/lib/private/legacy/helper.php @@ -557,7 +557,7 @@ class OC_Helper { $quota = \OCP\Files\FileInfo::SPACE_UNLIMITED; $storage = $rootInfo->getStorage(); $sourceStorage = $storage; - if ($storage->instanceOfStorage('\OC\Files\Storage\Shared')) { + if ($storage->instanceOfStorage('\OCA\Files_Sharing\SharedStorage')) { $includeExtStorage = false; $sourceStorage = $storage->getSourceStorage(); } diff --git a/lib/private/legacy/util.php b/lib/private/legacy/util.php index b8f3a93ba5..b6c3b37539 100644 --- a/lib/private/legacy/util.php +++ b/lib/private/legacy/util.php @@ -165,15 +165,14 @@ class OC_Util { // install storage availability wrapper, before most other wrappers \OC\Files\Filesystem::addStorageWrapper('oc_availability', function ($mountPoint, $storage) { - /** @var \OCP\Files\Storage $storage */ - if (!$storage->instanceOfStorage('\OC\Files\Storage\Shared') && !$storage->isLocal()) { + if (!$storage->instanceOfStorage('\OCA\Files_Sharing\SharedStorage') && !$storage->isLocal()) { return new \OC\Files\Storage\Wrapper\Availability(['storage' => $storage]); } return $storage; }); \OC\Files\Filesystem::addStorageWrapper('oc_encoding', function ($mountPoint, \OCP\Files\Storage $storage, \OCP\Files\Mount\IMountPoint $mount) { - if ($mount->getOption('encoding_compatibility', false) && !$storage->instanceOfStorage('\OC\Files\Storage\Shared') && !$storage->isLocal()) { + if ($mount->getOption('encoding_compatibility', false) && !$storage->instanceOfStorage('\OCA\Files_Sharing\SharedStorage') && !$storage->isLocal()) { return new \OC\Files\Storage\Wrapper\Encoding(['storage' => $storage]); } return $storage; diff --git a/tests/lib/Encryption/DecryptAllTest.php b/tests/lib/Encryption/DecryptAllTest.php index 7859a65ff6..289e7de27a 100644 --- a/tests/lib/Encryption/DecryptAllTest.php +++ b/tests/lib/Encryption/DecryptAllTest.php @@ -260,7 +260,7 @@ class DecryptAllTest extends TestCase { ->disableOriginalConstructor()->getMock(); $sharedStorage->expects($this->once())->method('instanceOfStorage') - ->with('OC\Files\Storage\Shared')->willReturn(true); + ->with('OCA\Files_Sharing\SharedStorage')->willReturn(true); $this->view->expects($this->at(0))->method('getDirectoryContent') ->with('/user1/files')->willReturn( diff --git a/tests/lib/Encryption/EncryptionWrapperTest.php b/tests/lib/Encryption/EncryptionWrapperTest.php index 6599428b36..6a6a3db2f6 100644 --- a/tests/lib/Encryption/EncryptionWrapperTest.php +++ b/tests/lib/Encryption/EncryptionWrapperTest.php @@ -91,13 +91,13 @@ class EncryptionWrapperTest extends TestCase { [true, ['OCA\Files_Trashbin\Storage']], // Do not wrap shared storages - [false, ['OC\Files\Storage\Shared']], + [false, ['OCA\Files_Sharing\SharedStorage']], [false, ['OCA\Files_Sharing\External\Storage']], [false, ['OC\Files\Storage\OwnCloud']], - [false, ['OC\Files\Storage\Shared', 'OCA\Files_Sharing\External\Storage']], - [false, ['OC\Files\Storage\Shared', 'OC\Files\Storage\OwnCloud']], + [false, ['OCA\Files_Sharing\SharedStorage', 'OCA\Files_Sharing\External\Storage']], + [false, ['OCA\Files_Sharing\SharedStorage', 'OC\Files\Storage\OwnCloud']], [false, ['OCA\Files_Sharing\External\Storage', 'OC\Files\Storage\OwnCloud']], - [false, ['OC\Files\Storage\Shared', 'OCA\Files_Sharing\External\Storage', 'OC\Files\Storage\OwnCloud']], + [false, ['OCA\Files_Sharing\SharedStorage', 'OCA\Files_Sharing\External\Storage', 'OC\Files\Storage\OwnCloud']], ]; }