diff options
author | Bjoern Schiessle <schiessle@owncloud.com> | 2014-08-08 16:11:07 +0200 |
---|---|---|
committer | Bjoern Schiessle <schiessle@owncloud.com> | 2014-08-11 12:03:08 +0200 |
commit | b3cff4beb6f3628fd914650b97f6c13285615b93 (patch) | |
tree | 6af9110ffe65e2f9ad328385866928bea11e03c1 /apps/files/lib/app.php | |
parent | 6dd7d9e0af3c4c1ce62e77e0932fdebe80175d16 (diff) | |
download | nextcloud-server-b3cff4beb6f3628fd914650b97f6c13285615b93.tar.gz nextcloud-server-b3cff4beb6f3628fd914650b97f6c13285615b93.zip |
add error message if user wants to rename a file which no longer exists
Diffstat (limited to 'apps/files/lib/app.php')
-rw-r--r-- | apps/files/lib/app.php | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/apps/files/lib/app.php b/apps/files/lib/app.php index e32225d0680..c21e44bff4e 100644 --- a/apps/files/lib/app.php +++ b/apps/files/lib/app.php @@ -71,15 +71,25 @@ class App { 'data' => NULL ); + $normalizedOldPath = \OC\Files\Filesystem::normalizePath($dir . '/' . $oldname); + $normalizedNewPath = \OC\Files\Filesystem::normalizePath($dir . '/' . $newname); + // rename to non-existing folder is denied - if (!$this->view->file_exists($dir)) { + if (!$this->view->file_exists($normalizedOldPath)) { + $result['data'] = array( + 'message' => $this->l10n->t('%s could not be renamed as it has been deleted', array($oldname)), + 'code' => 'sourcenotfound', + 'oldname' => $oldname, + 'newname' => $newname, + ); + }else if (!$this->view->file_exists($dir)) { $result['data'] = array('message' => (string)$this->l10n->t( 'The target folder has been moved or deleted.', array($dir)), 'code' => 'targetnotfound' ); // rename to existing file is denied - } else if ($this->view->file_exists($dir . '/' . $newname)) { + } else if ($this->view->file_exists($normalizedNewPath)) { $result['data'] = array( 'message' => $this->l10n->t( @@ -90,10 +100,10 @@ class App { // rename to "." is denied $newname !== '.' and // THEN try to rename - $this->view->rename($dir . '/' . $oldname, $dir . '/' . $newname) + $this->view->rename($normalizedOldPath, $normalizedNewPath) ) { // successful rename - $meta = $this->view->getFileInfo($dir . '/' . $newname); + $meta = $this->view->getFileInfo($normalizedNewPath); $fileinfo = \OCA\Files\Helper::formatFileInfo($meta); $result['success'] = true; $result['data'] = $fileinfo; |