|
5 | 5 | * SPDX-FileCopyrightText: 2016 ownCloud, Inc. |
6 | 6 | * SPDX-License-Identifier: AGPL-3.0-only |
7 | 7 | */ |
8 | | - |
| 8 | +use OC\Files\Filesystem; |
| 9 | +use OC\Files\Storage\Wrapper\PermissionsMask; |
| 10 | +use OC\Files\View; |
| 11 | +use OCA\DAV\Connector\LegacyPublicAuth; |
| 12 | +use OCA\DAV\Connector\Sabre\ServerFactory; |
| 13 | +use OCA\DAV\Files\Sharing\FilesDropPlugin; |
| 14 | +use OCA\DAV\Files\Sharing\PublicLinkCheckPlugin; |
| 15 | +use OCA\DAV\Storage\PublicOwnerWrapper; |
| 16 | +use OCA\FederatedFileSharing\FederatedShareProvider; |
9 | 17 | use OCP\BeforeSabrePubliclyLoadedEvent; |
| 18 | +use OCP\Constants; |
10 | 19 | use OCP\EventDispatcher\IEventDispatcher; |
| 20 | +use OCP\Files\IRootFolder; |
| 21 | +use OCP\Server; |
11 | 22 | use Psr\Log\LoggerInterface; |
12 | 23 |
|
13 | 24 | // load needed apps |
|
19 | 30 | \OC::$server->getSession()->close(); |
20 | 31 |
|
21 | 32 | // Backends |
22 | | -$authBackend = new OCA\DAV\Connector\LegacyPublicAuth( |
| 33 | +$authBackend = new LegacyPublicAuth( |
23 | 34 | \OC::$server->getRequest(), |
24 | 35 | \OC::$server->getShareManager(), |
25 | 36 | \OC::$server->getSession(), |
|
30 | 41 | /** @var IEventDispatcher $eventDispatcher */ |
31 | 42 | $eventDispatcher = \OC::$server->get(IEventDispatcher::class); |
32 | 43 |
|
33 | | -$serverFactory = new OCA\DAV\Connector\Sabre\ServerFactory( |
| 44 | +$serverFactory = new ServerFactory( |
34 | 45 | \OC::$server->getConfig(), |
35 | 46 | \OC::$server->get(LoggerInterface::class), |
36 | 47 | \OC::$server->getDatabaseConnection(), |
|
45 | 56 |
|
46 | 57 | $requestUri = \OC::$server->getRequest()->getRequestUri(); |
47 | 58 |
|
48 | | -$linkCheckPlugin = new \OCA\DAV\Files\Sharing\PublicLinkCheckPlugin(); |
49 | | -$filesDropPlugin = new \OCA\DAV\Files\Sharing\FilesDropPlugin(); |
| 59 | +$linkCheckPlugin = new PublicLinkCheckPlugin(); |
| 60 | +$filesDropPlugin = new FilesDropPlugin(); |
50 | 61 |
|
51 | 62 | $server = $serverFactory->createServer($baseuri, $requestUri, $authPlugin, function (\Sabre\DAV\Server $server) use ($authBackend, $linkCheckPlugin, $filesDropPlugin) { |
52 | 63 | $isAjax = in_array('XMLHttpRequest', explode(',', $_SERVER['HTTP_X_REQUESTED_WITH'] ?? '')); |
53 | | - /** @var \OCA\FederatedFileSharing\FederatedShareProvider $shareProvider */ |
54 | | - $federatedShareProvider = \OC::$server->query(\OCA\FederatedFileSharing\FederatedShareProvider::class); |
| 64 | + /** @var FederatedShareProvider $shareProvider */ |
| 65 | + $federatedShareProvider = \OC::$server->query(FederatedShareProvider::class); |
55 | 66 | if ($federatedShareProvider->isOutgoingServer2serverShareEnabled() === false && !$isAjax) { |
56 | 67 | // this is what is thrown when trying to access a non-existing share |
57 | 68 | throw new \Sabre\DAV\Exception\NotAuthenticated(); |
58 | 69 | } |
59 | 70 |
|
60 | 71 | $share = $authBackend->getShare(); |
61 | 72 | $owner = $share->getShareOwner(); |
62 | | - $isReadable = $share->getPermissions() & \OCP\Constants::PERMISSION_READ; |
| 73 | + $isReadable = $share->getPermissions() & Constants::PERMISSION_READ; |
63 | 74 | $fileId = $share->getNodeId(); |
64 | 75 |
|
65 | 76 | // FIXME: should not add storage wrappers outside of preSetup, need to find a better way |
66 | | - $previousLog = \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false); |
67 | | - \OC\Files\Filesystem::addStorageWrapper('sharePermissions', function ($mountPoint, $storage) use ($share) { |
68 | | - return new \OC\Files\Storage\Wrapper\PermissionsMask(['storage' => $storage, 'mask' => $share->getPermissions() | \OCP\Constants::PERMISSION_SHARE]); |
| 77 | + $previousLog = Filesystem::logWarningWhenAddingStorageWrapper(false); |
| 78 | + Filesystem::addStorageWrapper('sharePermissions', function ($mountPoint, $storage) use ($share) { |
| 79 | + return new PermissionsMask(['storage' => $storage, 'mask' => $share->getPermissions() | Constants::PERMISSION_SHARE]); |
69 | 80 | }); |
70 | | - \OC\Files\Filesystem::addStorageWrapper('shareOwner', function ($mountPoint, $storage) use ($share) { |
71 | | - return new \OCA\DAV\Storage\PublicOwnerWrapper(['storage' => $storage, 'owner' => $share->getShareOwner()]); |
| 81 | + Filesystem::addStorageWrapper('shareOwner', function ($mountPoint, $storage) use ($share) { |
| 82 | + return new PublicOwnerWrapper(['storage' => $storage, 'owner' => $share->getShareOwner()]); |
72 | 83 | }); |
73 | | - \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($previousLog); |
| 84 | + Filesystem::logWarningWhenAddingStorageWrapper($previousLog); |
74 | 85 |
|
75 | | - $rootFolder = \OCP\Server::get(\OCP\Files\IRootFolder::class); |
| 86 | + $rootFolder = Server::get(IRootFolder::class); |
76 | 87 | $userFolder = $rootFolder->getUserFolder($owner); |
77 | 88 | $node = $userFolder->getFirstNodeById($fileId); |
78 | 89 | if (!$node) { |
|
85 | 96 | $filesDropPlugin->enable(); |
86 | 97 | } |
87 | 98 |
|
88 | | - $view = new \OC\Files\View($node->getPath()); |
| 99 | + $view = new View($node->getPath()); |
89 | 100 | $filesDropPlugin->setView($view); |
90 | 101 | $filesDropPlugin->setShare($share); |
91 | 102 |
|
|
0 commit comments