allow tear down of filesystem.
also fix a bug when chrooting to '/'
This commit is contained in:
parent
5425c3d1e9
commit
2a5ee9512e
|
@ -145,7 +145,7 @@ class OC_UTIL {
|
|||
|
||||
if( $user != "" ){ //if we aren't logged in, there is no use to set up the filesystem
|
||||
//first set up the local "root" storage and the backupstorage if needed
|
||||
$rootStorage=OC_FILESYSTEM::createStorage('local',array('datadir'=>$CONFIG_DATADIRECTORY));
|
||||
$rootStorage=OC_FILESYSTEM::createStorage('local',array('datadir'=>$CONFIG_DATADIRECTORY_ROOT));
|
||||
// if( OC_CONFIG::getValue( "enablebackup", false )){
|
||||
// // This creates the Directorys recursively
|
||||
// if(!is_dir( "$CONFIG_BACKUPDIRECTORY/$user/$root" )){
|
||||
|
@ -182,6 +182,11 @@ class OC_UTIL {
|
|||
}
|
||||
}
|
||||
|
||||
public static function tearDownFS(){
|
||||
OC_FILESYSTEM::tearDown();
|
||||
self::$fsSetup=false;
|
||||
}
|
||||
|
||||
/**
|
||||
* get the current installed version of ownCloud
|
||||
* @return array
|
||||
|
|
|
@ -67,6 +67,16 @@ class OC_FILESYSTEM{
|
|||
return array_keys(self::$storageTypes);
|
||||
}
|
||||
|
||||
/**
|
||||
* tear down the filesystem, removing all storage providers
|
||||
*/
|
||||
static public function tearDown(){
|
||||
foreach(self::$storages as $mountpoint=>$storage){
|
||||
unset(self::$storages[$mountpoint]);
|
||||
}
|
||||
$fakeRoot='';
|
||||
}
|
||||
|
||||
/**
|
||||
* create a new storage of a specific type
|
||||
* @param string type
|
||||
|
@ -91,8 +101,10 @@ class OC_FILESYSTEM{
|
|||
* @return bool
|
||||
*/
|
||||
static public function chroot($fakeRoot){
|
||||
if($fakeRoot[0]!=='/'){
|
||||
$fakeRoot='/'.$fakeRoot;
|
||||
if(!$fakeRoot==''){
|
||||
if($fakeRoot[0]!=='/'){
|
||||
$fakeRoot='/'.$fakeRoot;
|
||||
}
|
||||
}
|
||||
self::$fakeRoot=$fakeRoot;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue