aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2014-07-16 21:24:18 +0200
committerRobin Appelman <icewind@owncloud.com>2014-07-16 21:24:18 +0200
commit5a0397eb5e10ebc5a43e4a034dae4eb4b227b8ac (patch)
tree280eb85583abf9983ea651813c007a1323783acc
parentd58c8d72cf8c0f6784bdec1f054c24a78ff131b6 (diff)
downloadnextcloud-server-5a0397eb5e10ebc5a43e4a034dae4eb4b227b8ac.tar.gz
nextcloud-server-5a0397eb5e10ebc5a43e4a034dae4eb4b227b8ac.zip
Fix renaming files in the root folder of a MappedLocal storage
-rw-r--r--lib/private/files/storage/mappedlocal.php19
1 files changed, 17 insertions, 2 deletions
diff --git a/lib/private/files/storage/mappedlocal.php b/lib/private/files/storage/mappedlocal.php
index 6910eef7401..c4a8dc1961c 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);
@@ -364,6 +366,19 @@ class MappedLocal extends \OC\Files\Storage\Common {
/**
* @param string $path
+ * @return string
+ */
+ private function dirName($path) {
+ $path = dirname($path);
+ if ($path === '.') {
+ return '';
+ } else {
+ return $path;
+ }
+ }
+
+ /**
+ * @param string $path
*/
private function cleanMapper($path, $isLogicPath = true, $recursive=true) {
$fullPath = $path;