diff options
Diffstat (limited to 'lib/private/files/filesystem.php')
-rw-r--r-- | lib/private/files/filesystem.php | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/lib/private/files/filesystem.php b/lib/private/files/filesystem.php index 2cc4a2130eb..f1f076a297b 100644 --- a/lib/private/files/filesystem.php +++ b/lib/private/files/filesystem.php @@ -325,13 +325,22 @@ class Filesystem { $userObject = \OC_User::getManager()->get($user); if (!is_null($userObject)) { + $homeStorage = \OC_Config::getValue( 'home_storage', array( + 'class' => '\OC\Files\Storage\Home', + 'arguments' => array() + )); + if (empty($config['class'])) { + //FIXME log error? or fallback to '\OC\Files\Storage\Home'? + } + if (!isset($config['arguments'])) { + $config['arguments'] = array(); + } + $homeStorage['arguments']['user'] = $userObject; // check for legacy home id (<= 5.0.12) if (\OC\Files\Cache\Storage::exists('local::' . $root . '/')) { - self::mount('\OC\Files\Storage\Home', array('user' => $userObject, 'legacy' => true), $user); - } - else { - self::mount('\OC\Files\Storage\Home', array('user' => $userObject), $user); + $homeStorage['arguments']['legacy'] = true; } + self::mount($homeStorage['class'], $homeStorage['arguments'], $user); } else { self::mount('\OC\Files\Storage\Local', array('datadir' => $root), $user); |