mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
Keep fileid on move in objectstore, fixes #10848
This commit is contained in:
parent
5913a694de
commit
8488be4d03
1 changed files with 5 additions and 33 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue