some filesystem fixes

This commit is contained in:
Robin Appelman 2011-08-15 22:54:38 +02:00
parent 5608aaee8a
commit 13cbd7f578
3 changed files with 5 additions and 42 deletions

View File

@ -222,11 +222,7 @@ class OC_Files {
public static function delete($dir,$file){
if(OC_User::isLoggedIn()){
$file=$dir.'/'.$file;
if(OC_Filesystem::is_file($file)){
return OC_Filesystem::unlink($file);
}elseif(OC_Filesystem::is_dir($file)){
return OC_Filesystem::delTree($file);
}
}
}

View File

@ -50,9 +50,6 @@ class OC_Filestorage{
public function fromTmpFile($tmpPath,$path){}//copy a file from a temporary file, used for cross-storage file actions
public function fromUploadedFile($tmpPath,$path){}//copy a file from a temporary file, used for cross-storage file actions
public function getMimeType($path){}
public function delTree($path){}
public function find($path){}
public function getTree($path){}
public function hash($type,$path,$raw){}
public function free_space($path){}
public function search($query){}

View File

@ -79,9 +79,8 @@ class OC_Filestorage_Local extends OC_Filestorage{
}
}
public function unlink($path){
if($return=unlink($this->datadir.$path)){
$return=$this->delTree($path);
$this->clearFolderSizeCache($path);
}
return $return;
}
public function rename($path1,$path2){
@ -195,7 +194,8 @@ class OC_Filestorage_Local extends OC_Filestorage{
}
}
public function delTree($dir) {
private function delTree($dir) {
error_log('del'.$dir);
$dirRelative=$dir;
$dir=$this->datadir.$dir;
if (!file_exists($dir)) return true;
@ -218,36 +218,6 @@ class OC_Filestorage_Local extends OC_Filestorage{
return $return;
}
public function find($path){
$return=System::find($this->datadir.$path);
foreach($return as &$file){
$file=str_replace($file,$this->datadir,'');
}
return $return;
}
public function getTree($dir) {
if(substr($dir,-1,1)=='/'){
$dir=substr($dir,0,-1);
}
$tree=array();
$tree[]=$dir;
$dirRelative=$dir;
$dir=$this->datadir.$dir;
if (!file_exists($dir)) return true;
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..') continue;
if(is_file($dir.'/'.$item)){
$tree[]=$dirRelative.'/'.$item;
}elseif(is_dir($dir.'/'.$item)){
if ($subTree=$this->getTree($dirRelative. "/" . $item)){
$tree=array_merge($tree,$subTree);
}
}
}
return $tree;
}
public function hash($type,$path,$raw){
return hash_file($type,$this->datadir.$path,$raw);
}