diff options
author | Vincent Petry <pvince81@owncloud.com> | 2015-10-16 18:28:45 +0200 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2015-10-26 15:41:23 +0100 |
commit | b900782513a750e5e100c7d55278632754a8df19 (patch) | |
tree | 2924f23ebc0325d8e83528079a768855e64584ff /lib/private/files/cache/cache.php | |
parent | cbd31e4fa9e7d4e469f2f3fc955e9b8e76f8628e (diff) | |
download | nextcloud-server-b900782513a750e5e100c7d55278632754a8df19.tar.gz nextcloud-server-b900782513a750e5e100c7d55278632754a8df19.zip |
Also adjust storage_mtime of target after rename
Some storages like Dropbox change their mtime on rename...
Diffstat (limited to 'lib/private/files/cache/cache.php')
-rw-r--r-- | lib/private/files/cache/cache.php | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/private/files/cache/cache.php b/lib/private/files/cache/cache.php index f3e22701f40..231dbe37695 100644 --- a/lib/private/files/cache/cache.php +++ b/lib/private/files/cache/cache.php @@ -313,6 +313,14 @@ class Cache { $fields = array( 'path', 'parent', 'name', 'mimetype', 'size', 'mtime', 'storage_mtime', 'encrypted', 'etag', 'permissions'); + + $doNotCopyStorageMTime = false; + if (array_key_exists('mtime', $data) && $data['mtime'] === null) { + // this horrific magic tells it to not copy storage_mtime to mtime + unset($data['mtime']); + $doNotCopyStorageMTime = true; + } + $params = array(); $queryParts = array(); foreach ($data as $name => $value) { @@ -325,7 +333,7 @@ class Cache { $queryParts[] = '`mimepart`'; $value = $this->mimetypeLoader->getId($value); } elseif ($name === 'storage_mtime') { - if (!isset($data['mtime'])) { + if (!$doNotCopyStorageMTime && !isset($data['mtime'])) { $params[] = $value; $queryParts[] = '`mtime`'; } |