summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBart Visscher <bartv@thisnet.nl>2012-08-29 21:35:55 +0200
committerBart Visscher <bartv@thisnet.nl>2012-08-29 21:35:55 +0200
commitc958d5ba808ce64083470f65f11d3f9e8b74f7a1 (patch)
treed3dae3abb0962b55cf0eb306fa2b28424e89e9e6
parent301baf0215cfa3046389b3369f3d43422ff80043 (diff)
downloadnextcloud-server-c958d5ba808ce64083470f65f11d3f9e8b74f7a1.tar.gz
nextcloud-server-c958d5ba808ce64083470f65f11d3f9e8b74f7a1.zip
Fix filesystem setup for shared public link with logged in user
-rw-r--r--apps/files_sharing/public.php3
-rwxr-xr-xlib/util.php18
2 files changed, 13 insertions, 8 deletions
diff --git a/apps/files_sharing/public.php b/apps/files_sharing/public.php
index a4bf0230a3a..7f72ef81bd3 100644
--- a/apps/files_sharing/public.php
+++ b/apps/files_sharing/public.php
@@ -5,7 +5,6 @@ if (isset($_GET['file'])) {
$pos = strpos($_GET['file'], '/', 1);
$uidOwner = substr($_GET['file'], 1, $pos - 1);
if (OCP\User::userExists($uidOwner)) {
- OC_Util::tearDownFS();
OC_Util::setupFS($uidOwner);
$file = substr($_GET['file'], $pos);
$fileSource = OC_Filecache::getId($_GET['file'], '');
@@ -73,4 +72,4 @@ if (isset($_GET['file'])) {
}
header('HTTP/1.0 404 Not Found');
$tmpl = new OCP\Template('', '404', 'guest');
-$tmpl->printPage(); \ No newline at end of file
+$tmpl->printPage();
diff --git a/lib/util.php b/lib/util.php
index b77d6cb1b65..10b88b24438 100755
--- a/lib/util.php
+++ b/lib/util.php
@@ -19,6 +19,18 @@ class OC_Util {
return false;
}
+ // If we are not forced to load a specific user we load the one that is logged in
+ if( $user == "" && OC_User::isLoggedIn()){
+ $user = OC_User::getUser();
+ }
+
+ // the filesystem will finish when $user is not empty,
+ // mark fs setup here to avoid doing the setup from loading
+ // OC_Filesystem
+ if ($user != '') {
+ self::$fsSetup=true;
+ }
+
$CONFIG_DATADIRECTORY = OC_Config::getValue( "datadirectory", OC::$SERVERROOT."/data" );
//first set up the local "root" storage
if(!self::$rootMounted){
@@ -26,11 +38,6 @@ class OC_Util {
self::$rootMounted=true;
}
- // If we are not forced to load a specific user we load the one that is logged in
- if( $user == "" && OC_User::isLoggedIn()){
- $user = OC_User::getUser();
- }
-
if( $user != "" ){ //if we aren't logged in, there is no use to set up the filesystem
$user_dir = '/'.$user.'/files';
$user_root = OC_User::getHome($user);
@@ -43,7 +50,6 @@ class OC_Util {
OC_Filesystem::init($user_dir);
$quotaProxy=new OC_FileProxy_Quota();
OC_FileProxy::register($quotaProxy);
- self::$fsSetup=true;
// Load personal mount config
if (is_file($user_root.'/mount.php')) {
$mountConfig = include($user_root.'/mount.php');