Skip to content
Snippets Groups Projects
Commit 13cbd7f5 authored by Robin Appelman's avatar Robin Appelman
Browse files

some filesystem fixes

parent 5608aaee
No related branches found
No related tags found
No related merge requests found
......@@ -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);
}
}
}
......
......@@ -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){}
......
......@@ -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);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment