|
|
|
@ -50,6 +50,10 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa |
|
|
|
*/ |
|
|
|
public function createFile($name, $data = null) { |
|
|
|
|
|
|
|
if ($name === 'Shared' && empty($this->path)) { |
|
|
|
throw new \Sabre_DAV_Exception_Forbidden(); |
|
|
|
} |
|
|
|
|
|
|
|
// for chunked upload also updating a existing file is a "createFile"
|
|
|
|
// because we create all the chunks before reasamble them to the existing file.
|
|
|
|
if (isset($_SERVER['HTTP_OC_CHUNKED'])) { |
|
|
|
@ -82,6 +86,10 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa |
|
|
|
*/ |
|
|
|
public function createDirectory($name) { |
|
|
|
|
|
|
|
if ($name === 'Shared' && empty($this->path)) { |
|
|
|
throw new \Sabre_DAV_Exception_Forbidden(); |
|
|
|
} |
|
|
|
|
|
|
|
if (!\OC\Files\Filesystem::isCreatable($this->path)) { |
|
|
|
throw new \Sabre_DAV_Exception_Forbidden(); |
|
|
|
} |
|
|
|
@ -187,13 +195,16 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa |
|
|
|
*/ |
|
|
|
public function delete() { |
|
|
|
|
|
|
|
if (!\OC\Files\Filesystem::isDeletable($this->path)) { |
|
|
|
if ($this->path === 'Shared') { |
|
|
|
throw new \Sabre_DAV_Exception_Forbidden(); |
|
|
|
} |
|
|
|
if ($this->path != "/Shared") { |
|
|
|
\OC\Files\Filesystem::rmdir($this->path); |
|
|
|
|
|
|
|
if (!\OC\Files\Filesystem::isDeletable($this->path)) { |
|
|
|
throw new \Sabre_DAV_Exception_Forbidden(); |
|
|
|
} |
|
|
|
|
|
|
|
\OC\Files\Filesystem::rmdir($this->path); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
|