summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/Files/Type/Loader.php15
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/private/Files/Type/Loader.php b/lib/private/Files/Type/Loader.php
index 4dd798e7b07..1ae783e8f83 100644
--- a/lib/private/Files/Type/Loader.php
+++ b/lib/private/Files/Type/Loader.php
@@ -154,18 +154,23 @@ class Loader implements IMimeTypeLoader {
* Update filecache mimetype based on file extension
*
* @param string $ext file extension
- * @param int $mimetypeId
+ * @param int $mimeTypeId
* @return int number of changed rows
*/
- public function updateFilecache($ext, $mimetypeId) {
+ public function updateFilecache($ext, $mimeTypeId) {
+ $folderMimeTypeId = $this->getId('httpd/unix-directory');
$update = $this->dbConnection->getQueryBuilder();
$update->update('filecache')
- ->set('mimetype', $update->createNamedParameter($mimetypeId))
+ ->set('mimetype', $update->createNamedParameter($mimeTypeId))
->where($update->expr()->neq(
- 'mimetype', $update->createNamedParameter($mimetypeId)
+ 'mimetype', $update->createNamedParameter($mimeTypeId)
+ ))
+ ->andWhere($update->expr()->neq(
+ 'mimetype', $update->createNamedParameter($folderMimeTypeId)
))
->andWhere($update->expr()->like(
- $update->createFunction('LOWER(`name`)'), $update->createNamedParameter($ext)
+ $update->createFunction('LOWER(' . $update->getColumnName('name') . ')'),
+ $update->createNamedParameter('%' . $this->dbConnection->escapeLikeParameter('.' . $ext))
));
return $update->execute();
}