diff options
author | Robin Appelman <robin@icewind.nl> | 2016-12-13 12:30:29 +0100 |
---|---|---|
committer | Robin Appelman <robin@icewind.nl> | 2016-12-13 12:30:29 +0100 |
commit | bbe24d29cac0fcee2573e9eea5ec17b565fd0817 (patch) | |
tree | 019b59ba6c7e84db0c9d9f713530998e2deb024c /apps | |
parent | 6f46a8bd5b38721874b44337f87c1435e60784e4 (diff) | |
download | nextcloud-server-bbe24d29cac0fcee2573e9eea5ec17b565fd0817.tar.gz nextcloud-server-bbe24d29cac0fcee2573e9eea5ec17b565fd0817.zip |
reuse cacheentry
Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files_sharing/lib/SharedMount.php | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/apps/files_sharing/lib/SharedMount.php b/apps/files_sharing/lib/SharedMount.php index 5436f476f1a..b7fb96b711b 100644 --- a/apps/files_sharing/lib/SharedMount.php +++ b/apps/files_sharing/lib/SharedMount.php @@ -130,12 +130,12 @@ class SharedMount extends MountPoint implements MoveableMount { */ private function generateUniqueTarget($path, $view, array $mountpoints) { $pathinfo = pathinfo($path); - $ext = (isset($pathinfo['extension'])) ? '.'.$pathinfo['extension'] : ''; + $ext = (isset($pathinfo['extension'])) ? '.' . $pathinfo['extension'] : ''; $name = $pathinfo['filename']; $dir = $pathinfo['dirname']; // Helper function to find existing mount points - $mountpointExists = function($path) use ($mountpoints) { + $mountpointExists = function ($path) use ($mountpoints) { foreach ($mountpoints as $mountpoint) { if ($mountpoint->getShare()->getTarget() === $path) { return true; @@ -146,7 +146,7 @@ class SharedMount extends MountPoint implements MoveableMount { $i = 2; while ($view->file_exists($path) || $mountpointExists($path)) { - $path = Filesystem::normalizePath($dir . '/' . $name . ' ('.$i.')' . $ext); + $path = Filesystem::normalizePath($dir . '/' . $name . ' (' . $i . ')' . $ext); $i++; } @@ -240,18 +240,22 @@ class SharedMount extends MountPoint implements MoveableMount { * @return int */ public function getNumericStorageId() { - $builder = \OC::$server->getDatabaseConnection()->getQueryBuilder(); - - $query = $builder->select('storage') - ->from('filecache') - ->where($builder->expr()->eq('fileid', $builder->createNamedParameter($this->getStorageRootId()))); - - $result = $query->execute(); - $row = $result->fetch(); - $result->closeCursor(); - if ($row) { - return $row['storage']; + if (!is_null($this->getShare()->getNodeCacheEntry())) { + return $this->getShare()->getNodeCacheEntry()->getStorageId(); + } else { + $builder = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + + $query = $builder->select('storage') + ->from('filecache') + ->where($builder->expr()->eq('fileid', $builder->createNamedParameter($this->getStorageRootId()))); + + $result = $query->execute(); + $row = $result->fetch(); + $result->closeCursor(); + if ($row) { + return $row['storage']; + } + return -1; } - return -1; } } |