]> source.dussan.org Git - nextcloud-server.git/commitdiff
search files by id in shared storages last 15800/head
authorRobin Appelman <robin@icewind.nl>
Tue, 28 May 2019 16:15:52 +0000 (18:15 +0200)
committerBackportbot <backportbot-noreply@rullzer.com>
Wed, 29 May 2019 19:58:44 +0000 (19:58 +0000)
this prevents unneeded recursion when the file is not in the share

Signed-off-by: Robin Appelman <robin@icewind.nl>
lib/private/Files/View.php

index b43ad92908329db5baef63d6c2fecdccd27cd7f6..990bd07e59c4b0675244cf2e689b871e6d7efc68 100644 (file)
@@ -49,6 +49,7 @@ use Icewind\Streams\CallbackWrapper;
 use OC\Files\Mount\MoveableMount;
 use OC\Files\Storage\Storage;
 use OC\User\User;
+use OCA\Files_Sharing\SharedMount;
 use OCP\Constants;
 use OCP\Files\Cache\ICacheEntry;
 use OCP\Files\EmptyFileNameException;
@@ -1715,6 +1716,13 @@ class View {
                // reverse the array so we start with the storage this view is in
                // which is the most likely to contain the file we're looking for
                $mounts = array_reverse($mounts);
+
+               // put non shared mounts in front of the shared mount
+               // this prevent unneeded recursion into shares
+               usort($mounts, function(IMountPoint $a, IMountPoint $b) {
+                       return $a instanceof SharedMount && (!$b instanceof SharedMount) ? 1 : -1;
+               });
+
                foreach ($mounts as $mount) {
                        /**
                         * @var \OC\Files\Mount\MountPoint $mount