aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_external
diff options
context:
space:
mode:
authorRobin McCorkell <rmccorkell@karoshi.org.uk>2014-03-28 15:22:35 +0000
committerRobin McCorkell <rmccorkell@karoshi.org.uk>2014-05-21 22:17:21 +0100
commit9151d7250785eb244a8cfe8082877c231876c671 (patch)
treee1c553af8283021febb0525ee5721bfe12ceecf9 /apps/files_external
parent05642733a365cd150dd9ebb3b7cf7ec9c55ecab3 (diff)
downloadnextcloud-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-xapps/files_external/lib/config.php22
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) {