@@ -40,22 +40,22 @@ discard block |
||
| 40 | 40 | |
| 41 | 41 | // Backends |
| 42 | 42 | $authBackend = new OCA\DAV\Connector\PublicAuth( |
| 43 | - \OC::$server->getRequest(), |
|
| 44 | - \OC::$server->getShareManager(), |
|
| 45 | - \OC::$server->getSession() |
|
| 43 | + \OC::$server->getRequest(), |
|
| 44 | + \OC::$server->getShareManager(), |
|
| 45 | + \OC::$server->getSession() |
|
| 46 | 46 | ); |
| 47 | 47 | $authPlugin = new \Sabre\DAV\Auth\Plugin($authBackend); |
| 48 | 48 | |
| 49 | 49 | $serverFactory = new OCA\DAV\Connector\Sabre\ServerFactory( |
| 50 | - \OC::$server->getConfig(), |
|
| 51 | - \OC::$server->getLogger(), |
|
| 52 | - \OC::$server->getDatabaseConnection(), |
|
| 53 | - \OC::$server->getUserSession(), |
|
| 54 | - \OC::$server->getMountManager(), |
|
| 55 | - \OC::$server->getTagManager(), |
|
| 56 | - \OC::$server->getRequest(), |
|
| 57 | - \OC::$server->getPreviewManager(), |
|
| 58 | - \OC::$server->getEventDispatcher() |
|
| 50 | + \OC::$server->getConfig(), |
|
| 51 | + \OC::$server->getLogger(), |
|
| 52 | + \OC::$server->getDatabaseConnection(), |
|
| 53 | + \OC::$server->getUserSession(), |
|
| 54 | + \OC::$server->getMountManager(), |
|
| 55 | + \OC::$server->getTagManager(), |
|
| 56 | + \OC::$server->getRequest(), |
|
| 57 | + \OC::$server->getPreviewManager(), |
|
| 58 | + \OC::$server->getEventDispatcher() |
|
| 59 | 59 | ); |
| 60 | 60 | |
| 61 | 61 | $requestUri = \OC::$server->getRequest()->getRequestUri(); |
@@ -64,43 +64,43 @@ discard block |
||
| 64 | 64 | $filesDropPlugin = new \OCA\DAV\Files\Sharing\FilesDropPlugin(); |
| 65 | 65 | |
| 66 | 66 | $server = $serverFactory->createServer($baseuri, $requestUri, $authPlugin, function (\Sabre\DAV\Server $server) use ($authBackend, $linkCheckPlugin, $filesDropPlugin) { |
| 67 | - $isAjax = (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest'); |
|
| 68 | - $federatedSharingApp = \OC::$server->query(\OCA\FederatedFileSharing\AppInfo\Application::class); |
|
| 69 | - $federatedShareProvider = $federatedSharingApp->getFederatedShareProvider(); |
|
| 70 | - if ($federatedShareProvider->isOutgoingServer2serverShareEnabled() === false && !$isAjax) { |
|
| 71 | - // this is what is thrown when trying to access a non-existing share |
|
| 72 | - throw new \Sabre\DAV\Exception\NotAuthenticated(); |
|
| 73 | - } |
|
| 74 | - |
|
| 75 | - $share = $authBackend->getShare(); |
|
| 76 | - $owner = $share->getShareOwner(); |
|
| 77 | - $isReadable = $share->getPermissions() & \OCP\Constants::PERMISSION_READ; |
|
| 78 | - $fileId = $share->getNodeId(); |
|
| 79 | - |
|
| 80 | - // FIXME: should not add storage wrappers outside of preSetup, need to find a better way |
|
| 81 | - $previousLog = \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false); |
|
| 82 | - \OC\Files\Filesystem::addStorageWrapper('sharePermissions', function ($mountPoint, $storage) use ($share) { |
|
| 83 | - return new \OC\Files\Storage\Wrapper\PermissionsMask(['storage' => $storage, 'mask' => $share->getPermissions() | \OCP\Constants::PERMISSION_SHARE]); |
|
| 84 | - }); |
|
| 85 | - |
|
| 86 | - \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($previousLog); |
|
| 87 | - |
|
| 88 | - OC_Util::tearDownFS(); |
|
| 89 | - OC_Util::setupFS($owner); |
|
| 90 | - $ownerView = new \OC\Files\View('/'. $owner . '/files'); |
|
| 91 | - $path = $ownerView->getPath($fileId); |
|
| 92 | - $fileInfo = $ownerView->getFileInfo($path); |
|
| 93 | - $linkCheckPlugin->setFileInfo($fileInfo); |
|
| 94 | - |
|
| 95 | - // If not readble (files_drop) enable the filesdrop plugin |
|
| 96 | - if (!$isReadable) { |
|
| 97 | - $filesDropPlugin->enable(); |
|
| 98 | - } |
|
| 99 | - |
|
| 100 | - $view = new \OC\Files\View($ownerView->getAbsolutePath($path)); |
|
| 101 | - $filesDropPlugin->setView($view); |
|
| 102 | - |
|
| 103 | - return $view; |
|
| 67 | + $isAjax = (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest'); |
|
| 68 | + $federatedSharingApp = \OC::$server->query(\OCA\FederatedFileSharing\AppInfo\Application::class); |
|
| 69 | + $federatedShareProvider = $federatedSharingApp->getFederatedShareProvider(); |
|
| 70 | + if ($federatedShareProvider->isOutgoingServer2serverShareEnabled() === false && !$isAjax) { |
|
| 71 | + // this is what is thrown when trying to access a non-existing share |
|
| 72 | + throw new \Sabre\DAV\Exception\NotAuthenticated(); |
|
| 73 | + } |
|
| 74 | + |
|
| 75 | + $share = $authBackend->getShare(); |
|
| 76 | + $owner = $share->getShareOwner(); |
|
| 77 | + $isReadable = $share->getPermissions() & \OCP\Constants::PERMISSION_READ; |
|
| 78 | + $fileId = $share->getNodeId(); |
|
| 79 | + |
|
| 80 | + // FIXME: should not add storage wrappers outside of preSetup, need to find a better way |
|
| 81 | + $previousLog = \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false); |
|
| 82 | + \OC\Files\Filesystem::addStorageWrapper('sharePermissions', function ($mountPoint, $storage) use ($share) { |
|
| 83 | + return new \OC\Files\Storage\Wrapper\PermissionsMask(['storage' => $storage, 'mask' => $share->getPermissions() | \OCP\Constants::PERMISSION_SHARE]); |
|
| 84 | + }); |
|
| 85 | + |
|
| 86 | + \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($previousLog); |
|
| 87 | + |
|
| 88 | + OC_Util::tearDownFS(); |
|
| 89 | + OC_Util::setupFS($owner); |
|
| 90 | + $ownerView = new \OC\Files\View('/'. $owner . '/files'); |
|
| 91 | + $path = $ownerView->getPath($fileId); |
|
| 92 | + $fileInfo = $ownerView->getFileInfo($path); |
|
| 93 | + $linkCheckPlugin->setFileInfo($fileInfo); |
|
| 94 | + |
|
| 95 | + // If not readble (files_drop) enable the filesdrop plugin |
|
| 96 | + if (!$isReadable) { |
|
| 97 | + $filesDropPlugin->enable(); |
|
| 98 | + } |
|
| 99 | + |
|
| 100 | + $view = new \OC\Files\View($ownerView->getAbsolutePath($path)); |
|
| 101 | + $filesDropPlugin->setView($view); |
|
| 102 | + |
|
| 103 | + return $view; |
|
| 104 | 104 | }); |
| 105 | 105 | |
| 106 | 106 | $server->addPlugin($linkCheckPlugin); |
@@ -63,7 +63,7 @@ discard block |
||
| 63 | 63 | $linkCheckPlugin = new \OCA\DAV\Files\Sharing\PublicLinkCheckPlugin(); |
| 64 | 64 | $filesDropPlugin = new \OCA\DAV\Files\Sharing\FilesDropPlugin(); |
| 65 | 65 | |
| 66 | -$server = $serverFactory->createServer($baseuri, $requestUri, $authPlugin, function (\Sabre\DAV\Server $server) use ($authBackend, $linkCheckPlugin, $filesDropPlugin) { |
|
| 66 | +$server = $serverFactory->createServer($baseuri, $requestUri, $authPlugin, function(\Sabre\DAV\Server $server) use ($authBackend, $linkCheckPlugin, $filesDropPlugin) { |
|
| 67 | 67 | $isAjax = (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest'); |
| 68 | 68 | $federatedSharingApp = \OC::$server->query(\OCA\FederatedFileSharing\AppInfo\Application::class); |
| 69 | 69 | $federatedShareProvider = $federatedSharingApp->getFederatedShareProvider(); |
@@ -79,7 +79,7 @@ discard block |
||
| 79 | 79 | |
| 80 | 80 | // FIXME: should not add storage wrappers outside of preSetup, need to find a better way |
| 81 | 81 | $previousLog = \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false); |
| 82 | - \OC\Files\Filesystem::addStorageWrapper('sharePermissions', function ($mountPoint, $storage) use ($share) { |
|
| 82 | + \OC\Files\Filesystem::addStorageWrapper('sharePermissions', function($mountPoint, $storage) use ($share) { |
|
| 83 | 83 | return new \OC\Files\Storage\Wrapper\PermissionsMask(['storage' => $storage, 'mask' => $share->getPermissions() | \OCP\Constants::PERMISSION_SHARE]); |
| 84 | 84 | }); |
| 85 | 85 | |
@@ -87,7 +87,7 @@ discard block |
||
| 87 | 87 | |
| 88 | 88 | OC_Util::tearDownFS(); |
| 89 | 89 | OC_Util::setupFS($owner); |
| 90 | - $ownerView = new \OC\Files\View('/'. $owner . '/files'); |
|
| 90 | + $ownerView = new \OC\Files\View('/'.$owner.'/files'); |
|
| 91 | 91 | $path = $ownerView->getPath($fileId); |
| 92 | 92 | $fileInfo = $ownerView->getFileInfo($path); |
| 93 | 93 | $linkCheckPlugin->setFileInfo($fileInfo); |