diff options
author | Robin Appelman <icewind@owncloud.com> | 2015-12-01 13:22:58 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2015-12-01 13:22:58 +0100 |
commit | 0d63e95a5d05b4f357c0725c8476bbd0b056712b (patch) | |
tree | c49907896a323ec55b1c34f7aebd682fd8c829af /lib/private/files | |
parent | 36660734a62b0f388b4d1dcc70f1bfaae620bf28 (diff) | |
download | nextcloud-server-0d63e95a5d05b4f357c0725c8476bbd0b056712b.tar.gz nextcloud-server-0d63e95a5d05b4f357c0725c8476bbd0b056712b.zip |
Add metadata to post delete hooks
Diffstat (limited to 'lib/private/files')
-rw-r--r-- | lib/private/files/node/file.php | 3 | ||||
-rw-r--r-- | lib/private/files/node/folder.php | 3 | ||||
-rw-r--r-- | lib/private/files/node/nonexistingfile.php | 60 | ||||
-rw-r--r-- | lib/private/files/node/nonexistingfolder.php | 60 |
4 files changed, 104 insertions, 22 deletions
diff --git a/lib/private/files/node/file.php b/lib/private/files/node/file.php index f66f87bfc2d..735bee3fd59 100644 --- a/lib/private/files/node/file.php +++ b/lib/private/files/node/file.php @@ -99,8 +99,9 @@ class File extends Node implements \OCP\Files\File { public function delete() { if ($this->checkPermissions(\OCP\Constants::PERMISSION_DELETE)) { $this->sendHooks(array('preDelete')); + $fileInfo = $this->getFileInfo(); $this->view->unlink($this->path); - $nonExisting = new NonExistingFile($this->root, $this->view, $this->path); + $nonExisting = new NonExistingFile($this->root, $this->view, $this->path, $fileInfo); $this->root->emit('\OC\Files', 'postDelete', array($nonExisting)); $this->exists = false; $this->fileInfo = null; diff --git a/lib/private/files/node/folder.php b/lib/private/files/node/folder.php index 9032c2bfb9d..be76b70b2ce 100644 --- a/lib/private/files/node/folder.php +++ b/lib/private/files/node/folder.php @@ -295,8 +295,9 @@ class Folder extends Node implements \OCP\Files\Folder { public function delete() { if ($this->checkPermissions(\OCP\Constants::PERMISSION_DELETE)) { $this->sendHooks(array('preDelete')); + $fileInfo = $this->getFileInfo(); $this->view->rmdir($this->path); - $nonExisting = new NonExistingFolder($this->root, $this->view, $this->path); + $nonExisting = new NonExistingFolder($this->root, $this->view, $this->path, $fileInfo); $this->root->emit('\OC\Files', 'postDelete', array($nonExisting)); $this->exists = false; } else { diff --git a/lib/private/files/node/nonexistingfile.php b/lib/private/files/node/nonexistingfile.php index b1de15d0535..68fb7d1b6f9 100644 --- a/lib/private/files/node/nonexistingfile.php +++ b/lib/private/files/node/nonexistingfile.php @@ -46,7 +46,11 @@ class NonExistingFile extends File { } public function getId() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::getId(); + } else { + throw new NotFoundException(); + } } public function stat() { @@ -54,35 +58,67 @@ class NonExistingFile extends File { } public function getMTime() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::getMTime(); + } else { + throw new NotFoundException(); + } } public function getSize() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::getSize(); + } else { + throw new NotFoundException(); + } } public function getEtag() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::getEtag(); + } else { + throw new NotFoundException(); + } } public function getPermissions() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::getPermissions(); + } else { + throw new NotFoundException(); + } } public function isReadable() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::isReadable(); + } else { + throw new NotFoundException(); + } } public function isUpdateable() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::isUpdateable(); + } else { + throw new NotFoundException(); + } } public function isDeletable() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::isDeletable(); + } else { + throw new NotFoundException(); + } } public function isShareable() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::isShareable(); + } else { + throw new NotFoundException(); + } } public function getContent() { @@ -94,7 +130,11 @@ class NonExistingFile extends File { } public function getMimeType() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::getMimeType(); + } else { + throw new NotFoundException(); + } } public function fopen($mode) { diff --git a/lib/private/files/node/nonexistingfolder.php b/lib/private/files/node/nonexistingfolder.php index be58103da90..5044eb524f5 100644 --- a/lib/private/files/node/nonexistingfolder.php +++ b/lib/private/files/node/nonexistingfolder.php @@ -47,7 +47,11 @@ class NonExistingFolder extends Folder { } public function getId() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::getId(); + } else { + throw new NotFoundException(); + } } public function stat() { @@ -55,35 +59,67 @@ class NonExistingFolder extends Folder { } public function getMTime() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::getMTime(); + } else { + throw new NotFoundException(); + } } public function getSize() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::getSize(); + } else { + throw new NotFoundException(); + } } public function getEtag() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::getEtag(); + } else { + throw new NotFoundException(); + } } public function getPermissions() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::getPermissions(); + } else { + throw new NotFoundException(); + } } public function isReadable() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::isReadable(); + } else { + throw new NotFoundException(); + } } public function isUpdateable() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::isUpdateable(); + } else { + throw new NotFoundException(); + } } public function isDeletable() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::isDeletable(); + } else { + throw new NotFoundException(); + } } public function isShareable() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::isShareable(); + } else { + throw new NotFoundException(); + } } public function get($path) { @@ -127,6 +163,10 @@ class NonExistingFolder extends Folder { } public function isCreatable() { - throw new NotFoundException(); + if ($this->fileInfo) { + return parent::isCreatable(); + } else { + throw new NotFoundException(); + } } } |