From 045c94ec3e3fe0bd3cbb05a46b3c797e13050ac3 Mon Sep 17 00:00:00 2001
From: Georg Ehrke <dev@georgswebsite.de>
Date: Sun, 26 Aug 2012 22:03:02 +0200
Subject: [PATCH] enable user backends to define their own place where to store
 the data

---
 lib/util.php | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/lib/util.php b/lib/util.php
index e63eb5b24c..a1bf214690 100755
--- a/lib/util.php
+++ b/lib/util.php
@@ -33,19 +33,21 @@ class OC_Util {
 
 		if( $user != "" ){ //if we aren't logged in, there is no use to set up the filesystem
 			$user_dir = '/'.$user.'/files';
-			$userdirectory = $CONFIG_DATADIRECTORY.$user_dir;
+			$user_root = OC_User::getHome($user);
+			$userdirectory = $user_root . '/files';
 			if( !is_dir( $userdirectory )){
 				mkdir( $userdirectory, 0755, true );
 			}
 
 			//jail the user into his "home" directory
+			OC_Filesystem::mount('OC_Filestorage_Local',array('datadir'=>$user_root), $user);
 			OC_Filesystem::init($user_dir);
 			$quotaProxy=new OC_FileProxy_Quota();
 			OC_FileProxy::register($quotaProxy);
 			self::$fsSetup=true;
 			// Load personal mount config
-			if (is_file($CONFIG_DATADIRECTORY.'/'.$user.'/mount.php')) {
-				$mountConfig = include($CONFIG_DATADIRECTORY.'/'.$user.'/mount.php');
+			if (is_file($user_root.'/mount.php')) {
+				$mountConfig = include($user_root.'/mount.php');
 				if (isset($mountConfig['user'][$user])) {
 					foreach ($mountConfig['user'][$user] as $mountPoint => $options) {
 						OC_Filesystem::mount($options['class'], $options['options'], $mountPoint);
-- 
GitLab