allow tear down of filesystem.

also fix a bug when chrooting to '/'
remotes/origin/stable
Robin Appelman 14 years ago
parent 5425c3d1e9
commit 2a5ee9512e
  1. 7
      lib/base.php
  2. 12
      lib/filesystem.php

@ -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,9 +101,11 @@ class OC_FILESYSTEM{
* @return bool
*/
static public function chroot($fakeRoot){
if(!$fakeRoot==''){
if($fakeRoot[0]!=='/'){
$fakeRoot='/'.$fakeRoot;
}
}
self::$fakeRoot=$fakeRoot;
}

Loading…
Cancel
Save