diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2015-01-29 15:24:53 +0100 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2015-02-02 13:20:16 +0100 |
commit | a575dcf78f0e69bc9fd43d32030f74b12b128af1 (patch) | |
tree | 4f2bb276ce10931c1b75a29de239d2670d4240a3 /lib/private/files/cache | |
parent | 359abca50c09f17ab0c1f872990a66ca48eab74d (diff) | |
download | nextcloud-server-a575dcf78f0e69bc9fd43d32030f74b12b128af1.tar.gz nextcloud-server-a575dcf78f0e69bc9fd43d32030f74b12b128af1.zip |
Use insertIfNotExists() and reload mimetypes after inserting one
Diffstat (limited to 'lib/private/files/cache')
-rw-r--r-- | lib/private/files/cache/cache.php | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/private/files/cache/cache.php b/lib/private/files/cache/cache.php index 5438bdad5cb..3c097a34962 100644 --- a/lib/private/files/cache/cache.php +++ b/lib/private/files/cache/cache.php @@ -74,9 +74,11 @@ class Cache { if (!isset(self::$mimetypeIds[$mime])) { try { - $result = \OC_DB::executeAudited('INSERT INTO `*PREFIX*mimetypes`(`mimetype`) VALUES(?)', array($mime)); - self::$mimetypeIds[$mime] = \OC_DB::insertid('*PREFIX*mimetypes'); - self::$mimetypes[self::$mimetypeIds[$mime]] = $mime; + $connection = \OC_DB::getConnection(); + $connection->insertIfNotExist('*PREFIX*mimetypes', [ + 'mimetype' => $mime, + ]); + $this->loadMimetypes(); } catch (\Doctrine\DBAL\DBALException $e) { \OC_Log::write('core', 'Exception during mimetype insertion: ' . $e->getmessage(), \OC_Log::DEBUG); return -1; @@ -95,6 +97,8 @@ class Cache { } public function loadMimetypes() { + self::$mimetypeIds = self::$mimetypes = array(); + $result = \OC_DB::executeAudited('SELECT `id`, `mimetype` FROM `*PREFIX*mimetypes`', array()); if ($result) { while ($row = $result->fetchRow()) { |