some filesystem fixes
This commit is contained in:
parent
5608aaee8a
commit
13cbd7f578
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue