]> source.dussan.org Git - nextcloud-server.git/commitdiff
change 'object_storage' config param to 'root_storage'
authorJörn Friedrich Dreyer <jfd@butonic.de>
Wed, 11 Jun 2014 11:55:11 +0000 (13:55 +0200)
committerJörn Friedrich Dreyer <jfd@butonic.de>
Wed, 18 Jun 2014 10:53:19 +0000 (12:53 +0200)
copy skeleton only for local filesystems

lib/private/util.php

index bb76b42384324421fe2f6afaf6be13145a356bbf..c2db9e5773e9cc64eca5318eba33e9da73553d5e 100755 (executable)
@@ -29,7 +29,7 @@ class OC_Util {
         * TODO make home storage aware of this and use the object storage instead of local disk access
         * @param array $config containing 'class' and optional 'arguments'
         */
-       private static function initObjectStorageRootFS($config) {
+       private static function initObjectStoreRootFS($config) {
                // check misconfiguration
                if (empty($config['class'])) {
                        //FIXME log error?
@@ -73,9 +73,9 @@ class OC_Util {
                }
 
                //check if we are using an object storage
-               $object_storage = OC_Config::getValue( 'object_storage' );
-               if ( isset( $object_storage ) && OC_App::isEnabled('objectstore') ) {
-                       self::initObjectStorageRootFS($object_storage);
+               $root_storage = OC_Config::getValue( 'root_storage' );
+               if ( isset( $root_storage ) ) {
+                       self::initObjectStoreRootFS($root_storage);
                } else {
                        self::initLocalStorageRootFS();
                }
@@ -94,7 +94,7 @@ class OC_Util {
                                 * @var \OC\Files\Storage\Storage $storage
                                 */
                                if ($storage->instanceOfStorage('\OC\Files\Storage\Home')
-                                       || $storage->instanceOfStorage('\OCA\ObjectStore\AbstractObjectStore') // FIXME introduce interface \OC\Files\Storage\HomeStorage? or add method?
+                                       || $storage->instanceOfStorage('\OC\Files\ObjectStore\AbstractObjectStore')
                                ) {
                                        if (is_object($storage->getUser())) {
                                                $user = $storage->getUser()->getUID();
@@ -109,12 +109,17 @@ class OC_Util {
                        });
 
                        $userDir = '/'.$user.'/files';
-                       $userRoot = OC_User::getHome($user);
-                       $userDirectory = $userRoot . '/files';
-                       if( !is_dir( $userDirectory )) {
-                               mkdir( $userDirectory, 0755, true );
-                               OC_Util::copySkeleton($userDirectory);
+
+                       //autocreate users "home" directory for local storage only
+                       if ( ! isset( $root_storage ) ) {
+                               $userRoot = OC_User::getHome($user);
+                               $userDirectory = $userRoot . '/files';
+                               if( !is_dir( $userDirectory )) {
+                                       mkdir( $userDirectory, 0755, true );
+                                       OC_Util::copySkeleton($userDirectory);
+                               }
                        }
+
                        //jail the user into his "home" directory
                        \OC\Files\Filesystem::init($user, $userDir);