* 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?
}
//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();
}
* @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();
});
$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);