Skip to content
Snippets Groups Projects
Commit 9eb177e8 authored by Robin Appelman's avatar Robin Appelman
Browse files

Use the permissions exposed by ownCloud for webdav external storages

parent b5f0a179
Branches
No related tags found
No related merge requests found
......@@ -396,5 +396,29 @@ class DAV extends \OC\Files\Storage\Common {
return array('curl');
}
}
public function getPermissions($path) {
$this->init();
$response = $this->client->propfind($this->encodePath($path), array('{http://owncloud.org/ns}permissions'));
if (isset($response['{http://owncloud.org/ns}permissions'])) {
$permissions = 0;
$permissionsString = $response['{http://owncloud.org/ns}permissions'];
if (strpos($permissionsString, 'R') !== false) {
$permissions |= \OCP\PERMISSION_SHARE;
}
if (strpos($permissionsString, 'D') !== false) {
$permissions |= \OCP\PERMISSION_DELETE;
}
if (strpos($permissionsString, 'W') !== false) {
$permissions |= \OCP\PERMISSION_UPDATE;
}
if (strpos($permissionsString, 'C') !== false) {
$permissions |= \OCP\PERMISSION_CREATE;
}
return $permissions;
} else {
return parent::getPermissions($path);
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment