]> source.dussan.org Git - nextcloud-server.git/commitdiff
Treat 'all users' as 'global'
authorRobin McCorkell <rmccorkell@karoshi.org.uk>
Fri, 28 Mar 2014 15:22:35 +0000 (15:22 +0000)
committerRobin McCorkell <rmccorkell@karoshi.org.uk>
Wed, 21 May 2014 21:17:21 +0000 (22:17 +0100)
A mount applicable to all users is as good a definition of global as can be

apps/files_external/lib/config.php

index e23a72b56f18a9b9a1800b21e9fd1327081da61e..5e5340e910f2ed0adf56b20e96f7597f91587a77 100755 (executable)
@@ -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) {