|
|
|
|
@ -82,7 +82,7 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common { |
|
|
|
|
$parentExists = true; |
|
|
|
|
|
|
|
|
|
// we are done when the root folder was meant to be created |
|
|
|
|
if ($dirName === $path) { |
|
|
|
|
if ($dirName === $path) { |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -290,38 +290,10 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common { |
|
|
|
|
public function rename($source, $target) { |
|
|
|
|
$source = $this->normalizePath($source); |
|
|
|
|
$target = $this->normalizePath($target); |
|
|
|
|
$stat1 = $this->stat($source); |
|
|
|
|
if (isset($stat1['mimetype']) && $stat1['mimetype'] === 'httpd/unix-directory') { |
|
|
|
|
$this->remove($target); |
|
|
|
|
$dir = $this->opendir($source); |
|
|
|
|
$this->mkdir($target); |
|
|
|
|
while ($file = readdir($dir)) { |
|
|
|
|
if (!Filesystem::isIgnoredDir($file)) { |
|
|
|
|
if (!$this->rename($source . '/' . $file, $target . '/' . $file)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
closedir($dir); |
|
|
|
|
$this->remove($source); |
|
|
|
|
return true; |
|
|
|
|
} else { |
|
|
|
|
if (is_array($stat1)) { |
|
|
|
|
$parent = $this->stat(dirname($target)); |
|
|
|
|
if (is_array($parent)) { |
|
|
|
|
$this->remove($target); |
|
|
|
|
$stat1['parent'] = $parent['fileid']; |
|
|
|
|
$stat1['path'] = $target; |
|
|
|
|
$stat1['path_hash'] = md5($target); |
|
|
|
|
$stat1['name'] = \OC_Util::basename($target); |
|
|
|
|
$stat1['mtime'] = time(); |
|
|
|
|
$stat1['etag'] = $this->getETag($target); |
|
|
|
|
$this->getCache()->update($stat1['fileid'], $stat1); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return false; |
|
|
|
|
$this->remove($target); |
|
|
|
|
$this->getCache()->move($source, $target); |
|
|
|
|
$this->touch(dirname($target)); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function getMimeType($path) { |
|
|
|
|
|