fix renameFromStorage messing with folder mimetype
Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
parent
7ac4d57fd5
commit
142b6eb08f
|
@ -28,6 +28,7 @@
|
|||
|
||||
namespace OC\Files\Cache;
|
||||
|
||||
use OC\Files\FileInfo;
|
||||
use OCP\Files\Cache\ICacheEntry;
|
||||
use OCP\Files\Cache\IUpdater;
|
||||
use OCP\Files\Storage\IStorage;
|
||||
|
@ -187,7 +188,9 @@ class Updater implements IUpdater {
|
|||
$sourceUpdater = $sourceStorage->getUpdater();
|
||||
$sourcePropagator = $sourceStorage->getPropagator();
|
||||
|
||||
if ($sourceCache->inCache($source)) {
|
||||
$sourceInfo = $sourceCache->get($source);
|
||||
|
||||
if ($sourceInfo !== false) {
|
||||
if ($this->cache->inCache($target)) {
|
||||
$this->cache->remove($target);
|
||||
}
|
||||
|
@ -197,14 +200,14 @@ class Updater implements IUpdater {
|
|||
} else {
|
||||
$this->cache->moveFromCache($sourceCache, $source, $target);
|
||||
}
|
||||
}
|
||||
|
||||
if (pathinfo($source, PATHINFO_EXTENSION) !== pathinfo($target, PATHINFO_EXTENSION)) {
|
||||
if (pathinfo($source, PATHINFO_EXTENSION) !== pathinfo($target, PATHINFO_EXTENSION) && $sourceInfo->getMimeType() !== FileInfo::MIMETYPE_FOLDER) {
|
||||
// handle mime type change
|
||||
$mimeType = $this->storage->getMimeType($target);
|
||||
$fileId = $this->cache->getId($target);
|
||||
$this->cache->update($fileId, ['mimetype' => $mimeType]);
|
||||
}
|
||||
}
|
||||
|
||||
if ($sourceCache instanceof Cache) {
|
||||
$sourceCache->correctFolderSize($source);
|
||||
|
|
Loading…
Reference in New Issue