Restore through Nextcloud: also a restored folder that is itself empty gets its time back
This commit is contained in:
@@ -150,6 +150,7 @@ final class RestoreService {
|
|||||||
} elseif ($mode !== self::MODE_MERGE && $mode !== self::MODE_REPLACE) {
|
} elseif ($mode !== self::MODE_MERGE && $mode !== self::MODE_REPLACE) {
|
||||||
throw new \InvalidArgumentException("Unknown mode $mode");
|
throw new \InvalidArgumentException("Unknown mode $mode");
|
||||||
}
|
}
|
||||||
|
$destExisted = $parentRel === '' || $userFolder->nodeExists($parentRel);
|
||||||
$dest = $this->ensureFolder($userFolder, $parentRel);
|
$dest = $this->ensureFolder($userFolder, $parentRel);
|
||||||
$names = $single ? [basename($rel) => $entries['']] : $entries;
|
$names = $single ? [basename($rel) => $entries['']] : $entries;
|
||||||
|
|
||||||
@@ -174,7 +175,7 @@ final class RestoreService {
|
|||||||
|
|
||||||
foreach ($emptyDirs as $dir => $mtime) {
|
foreach ($emptyDirs as $dir => $mtime) {
|
||||||
$dir = (string)$dir;
|
$dir = (string)$dir;
|
||||||
$existed = $dir === '' || $dest->nodeExists($dir); // one that is there keeps its own time
|
$existed = $dir === '' ? $destExisted : $dest->nodeExists($dir); // one that is there keeps its own time
|
||||||
$folder = $this->ensureFolder($dest, $dir);
|
$folder = $this->ensureFolder($dest, $dir);
|
||||||
if (!$existed) {
|
if (!$existed) {
|
||||||
$folder->touch($mtime);
|
$folder->touch($mtime);
|
||||||
|
|||||||
Reference in New Issue
Block a user