diff options
author | Robin McCorkell <rmccorkell@karoshi.org.uk> | 2014-03-28 15:22:35 +0000 |
---|---|---|
committer | Robin McCorkell <rmccorkell@karoshi.org.uk> | 2014-05-21 22:17:21 +0100 |
commit | 9151d7250785eb244a8cfe8082877c231876c671 (patch) | |
tree | e1c553af8283021febb0525ee5721bfe12ceecf9 /apps/files_external | |
parent | 05642733a365cd150dd9ebb3b7cf7ec9c55ecab3 (diff) | |
download | nextcloud-server-9151d7250785eb244a8cfe8082877c231876c671.tar.gz nextcloud-server-9151d7250785eb244a8cfe8082877c231876c671.zip |
Treat 'all users' as 'global'
A mount applicable to all users is as good a definition of global as can be
Diffstat (limited to 'apps/files_external')
-rwxr-xr-x | apps/files_external/lib/config.php | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php index e23a72b56f1..5e5340e910f 100755 --- a/apps/files_external/lib/config.php +++ b/apps/files_external/lib/config.php @@ -149,6 +149,26 @@ class OC_Mount_Config { } } } + if (isset($mountConfig[self::MOUNT_TYPE_USER]) && isset($mountConfig[self::MOUNT_TYPE_USER]['all'])) { + $mounts = $mountConfig[self::MOUNT_TYPE_USER]['all']; + foreach ($mounts as $mountPoint => $options) { + $mountPoint = self::setUserVars($user, $mountPoint); + foreach ($options as &$option) { + $option = self::setUserVars($user, $option); + } + $options['options'] = self::decryptPasswords($options['options']); + if (!isset($options['priority'])) { + $options['priority'] = $backends[$options['class']]['priority']; + } + + if ( (!isset($mountPoints[$mountPoint])) + || ($options['priority'] >= $mountPoints[$mountPoint]['priority']) + || ($mountPoints[$mountPoint]['priority_type'] != 'global') ) { + $options['priority_type'] = 'global'; + $mountPoints[$mountPoint] = $options; + } + } + } if (isset($mountConfig[self::MOUNT_TYPE_GROUP])) { foreach ($mountConfig[self::MOUNT_TYPE_GROUP] as $group => $mounts) { if (\OC_Group::inGroup($user, $group)) { @@ -174,7 +194,7 @@ class OC_Mount_Config { } if (isset($mountConfig[self::MOUNT_TYPE_USER])) { foreach ($mountConfig[self::MOUNT_TYPE_USER] as $mountUser => $mounts) { - if ($mountUser === 'all' or strtolower($mountUser) === strtolower($user)) { + if (strtolower($mountUser) === strtolower($user)) { foreach ($mounts as $mountPoint => $options) { $mountPoint = self::setUserVars($user, $mountPoint); foreach ($options as &$option) { |