summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2015-07-15 14:51:57 +0200
committerMorris Jobke <hey@morrisjobke.de>2015-07-15 14:51:57 +0200
commit256c57c01e42940f9582f66dc68d1ad7a3814ec8 (patch)
tree891c013674f12ae8a5e531f3ceab0026f74ba75a /lib
parent90104fc5d813203ab048cfb4722efc60bd29e359 (diff)
parenta95b5c3b3e234880c260b4dda4cee20777ca4fca (diff)
downloadnextcloud-server-256c57c01e42940f9582f66dc68d1ad7a3814ec8.tar.gz
nextcloud-server-256c57c01e42940f9582f66dc68d1ad7a3814ec8.zip
Merge pull request #17337 from owncloud/stable8.1-backport-17077
[stable8.1] fix getting mount points when passing a path to the files:scan command
Diffstat (limited to 'lib')
-rw-r--r--lib/private/files/config/mountprovidercollection.php10
-rw-r--r--lib/private/files/utils/scanner.php5
2 files changed, 10 insertions, 5 deletions
diff --git a/lib/private/files/config/mountprovidercollection.php b/lib/private/files/config/mountprovidercollection.php
index a14a6ef796f..c75c64ae445 100644
--- a/lib/private/files/config/mountprovidercollection.php
+++ b/lib/private/files/config/mountprovidercollection.php
@@ -57,8 +57,14 @@ class MountProviderCollection implements IMountProviderCollection, Emitter {
*/
public function getMountsForUser(IUser $user) {
$loader = $this->loader;
- return array_reduce($this->providers, function ($mounts, IMountProvider $provider) use ($user, $loader) {
- return array_merge($mounts, $provider->getMountsForUser($user, $loader));
+ $mounts = array_map(function (IMountProvider $provider) use ($user, $loader) {
+ return $provider->getMountsForUser($user, $loader);
+ }, $this->providers);
+ $mounts = array_filter($mounts, function ($result) {
+ return is_array($result);
+ });
+ return array_reduce($mounts, function (array $mounts, array $providerMounts) {
+ return array_merge($mounts, $providerMounts);
}, array());
}
diff --git a/lib/private/files/utils/scanner.php b/lib/private/files/utils/scanner.php
index 23a9e26b3bc..3d68eb530a2 100644
--- a/lib/private/files/utils/scanner.php
+++ b/lib/private/files/utils/scanner.php
@@ -76,11 +76,10 @@ class Scanner extends PublicEmitter {
//TODO: move to the node based fileapi once that's done
\OC_Util::tearDownFS();
\OC_Util::setupFS($this->user);
- $absolutePath = Filesystem::getView()->getAbsolutePath($dir);
$mountManager = Filesystem::getMountManager();
- $mounts = $mountManager->findIn($absolutePath);
- $mounts[] = $mountManager->find($absolutePath);
+ $mounts = $mountManager->findIn($dir);
+ $mounts[] = $mountManager->find($dir);
$mounts = array_reverse($mounts); //start with the mount of $dir
return $mounts;