|
|
|
@ -355,7 +355,7 @@ class DAV extends \OC\Files\Storage\Common { |
|
|
|
|
* @param string $path |
|
|
|
|
*/ |
|
|
|
|
public function cleanPath($path) { |
|
|
|
|
if ($path === ""){ |
|
|
|
|
if ($path === "") { |
|
|
|
|
return $path; |
|
|
|
|
} |
|
|
|
|
$path = \OC\Files\Filesystem::normalizePath($path); |
|
|
|
@ -400,6 +400,22 @@ class DAV extends \OC\Files\Storage\Common { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function isUpdatable($path) { |
|
|
|
|
return (bool)($this->getPermissions($path) & \OCP\PERMISSION_UPDATE); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function isCreatable($path) { |
|
|
|
|
return (bool)($this->getPermissions($path) & \OCP\PERMISSION_CREATE); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function isSharable($path) { |
|
|
|
|
return (bool)($this->getPermissions($path) & \OCP\PERMISSION_SHARE); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function isDeletable($path) { |
|
|
|
|
return (bool)($this->getPermissions($path) & \OCP\PERMISSION_DELETE); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function getPermissions($path) { |
|
|
|
|
$this->init(); |
|
|
|
|
$response = $this->client->propfind($this->encodePath($path), array('{http://owncloud.org/ns}permissions')); |
|
|
|
@ -419,8 +435,12 @@ class DAV extends \OC\Files\Storage\Common { |
|
|
|
|
$permissions |= \OCP\PERMISSION_CREATE; |
|
|
|
|
} |
|
|
|
|
return $permissions; |
|
|
|
|
} else if ($this->is_dir($path)) { |
|
|
|
|
return \OCP\PERMISSION_ALL; |
|
|
|
|
} else if ($this->file_exists($path)) { |
|
|
|
|
return \OCP\PERMISSION_ALL - \OCP\PERMISSION_CREATE; |
|
|
|
|
} else { |
|
|
|
|
return parent::getPermissions($path); |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|