enable user backends to define their own place where to store the data

This commit is contained in:
Georg Ehrke 2012-08-26 22:03:02 +02:00
parent 5586054961
commit 045c94ec3e
1 changed files with 5 additions and 3 deletions

View File

@ -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);