summaryrefslogtreecommitdiffstats
path: root/apps/files/lib/app.php
diff options
context:
space:
mode:
authorBjoern Schiessle <schiessle@owncloud.com>2014-08-08 16:11:07 +0200
committerBjoern Schiessle <schiessle@owncloud.com>2014-08-11 12:03:08 +0200
commitb3cff4beb6f3628fd914650b97f6c13285615b93 (patch)
tree6af9110ffe65e2f9ad328385866928bea11e03c1 /apps/files/lib/app.php
parent6dd7d9e0af3c4c1ce62e77e0932fdebe80175d16 (diff)
downloadnextcloud-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.php18
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;