From 5a0397eb5e10ebc5a43e4a034dae4eb4b227b8ac Mon Sep 17 00:00:00 2001 From: Robin Appelman <icewind@owncloud.com> Date: Wed, 16 Jul 2014 21:24:18 +0200 Subject: [PATCH] Fix renaming files in the root folder of a MappedLocal storage --- lib/private/files/storage/mappedlocal.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/private/files/storage/mappedlocal.php b/lib/private/files/storage/mappedlocal.php index 6910eef740..c4a8dc1961 100644 --- a/lib/private/files/storage/mappedlocal.php +++ b/lib/private/files/storage/mappedlocal.php @@ -184,8 +184,8 @@ class MappedLocal extends \OC\Files\Storage\Common { } public function rename($path1, $path2) { - $srcParent = dirname($path1); - $dstParent = dirname($path2); + $srcParent = $this->dirname($path1); + $dstParent = $this->dirname($path2); if (!$this->isUpdatable($srcParent)) { \OC_Log::write('core', 'unable to rename, source directory is not writable : ' . $srcParent, \OC_Log::ERROR); @@ -355,6 +355,8 @@ class MappedLocal extends \OC\Files\Storage\Common { /** * @param string $path + * @param bool $create + * @return string */ private function buildPath($path, $create = true) { $path = $this->stripLeading($path); @@ -362,6 +364,19 @@ class MappedLocal extends \OC\Files\Storage\Common { return $this->mapper->logicToPhysical($fullPath, $create); } + /** + * @param string $path + * @return string + */ + private function dirName($path) { + $path = dirname($path); + if ($path === '.') { + return ''; + } else { + return $path; + } + } + /** * @param string $path */ -- GitLab