summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/lib/External/Storage.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_sharing/lib/External/Storage.php')
-rw-r--r--apps/files_sharing/lib/External/Storage.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/apps/files_sharing/lib/External/Storage.php b/apps/files_sharing/lib/External/Storage.php
index ffa5fb8716d..296e7ddf85b 100644
--- a/apps/files_sharing/lib/External/Storage.php
+++ b/apps/files_sharing/lib/External/Storage.php
@@ -43,12 +43,13 @@ use OCP\Constants;
use OCP\Federation\ICloudId;
use OCP\Files\NotFoundException;
use OCP\Files\Storage\IDisableEncryptionStorage;
+use OCP\Files\Storage\IReliableEtagStorage;
use OCP\Files\StorageInvalidException;
use OCP\Files\StorageNotAvailableException;
use OCP\Http\Client\LocalServerException;
use OCP\Http\Client\IClientService;
-class Storage extends DAV implements ISharedStorage, IDisableEncryptionStorage {
+class Storage extends DAV implements ISharedStorage, IDisableEncryptionStorage, IReliableEtagStorage {
/** @var ICloudId */
private $cloudId;
/** @var string */
@@ -369,6 +370,8 @@ class Storage extends DAV implements ISharedStorage, IDisableEncryptionStorage {
} elseif (isset($response['{http://open-cloud-mesh.org/ns}share-permissions'])) {
// permissions provided by the OCM API
$permissions = $this->ocmPermissions2ncPermissions($response['{http://open-collaboration-services.org/ns}share-permissions'], $path);
+ } elseif (isset($response['{http://owncloud.org/ns}permissions'])) {
+ return $this->parsePermissions($response['{http://owncloud.org/ns}permissions']);
} else {
// use default permission if remote server doesn't provide the share permissions
$permissions = $this->getDefaultPermissions($path);
@@ -426,4 +429,8 @@ class Storage extends DAV implements ISharedStorage, IDisableEncryptionStorage {
return $permissions;
}
+
+ public function free_space($path) {
+ return parent::free_space("");
+ }
}