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