|
|
|
@ -73,13 +73,15 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{ |
|
|
|
|
$stripLength=strlen($this->root)+strlen($path); |
|
|
|
|
$id=md5('webdav'.$this->root.$path); |
|
|
|
|
OC_FakeDirStream::$dirs[$id]=array(); |
|
|
|
|
$skip = true; |
|
|
|
|
foreach($response as $file=>$data){ |
|
|
|
|
//strip root and path |
|
|
|
|
$file=trim(substr($file,$stripLength)); |
|
|
|
|
$file=trim($file,'/'); |
|
|
|
|
if($file){ |
|
|
|
|
OC_FakeDirStream::$dirs[$id][]=$file; |
|
|
|
|
// Skip the first file, because it is the current directory |
|
|
|
|
if ($skip) { |
|
|
|
|
$skip = false; |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
$file = urldecode(basename($file)); |
|
|
|
|
OC_FakeDirStream::$dirs[$id][]=$file; |
|
|
|
|
} |
|
|
|
|
return opendir('fakedir://'.$id); |
|
|
|
|
}catch(Exception $e){ |
|
|
|
@ -244,15 +246,11 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{ |
|
|
|
|
$path=$this->cleanPath($path); |
|
|
|
|
try{ |
|
|
|
|
$response=$this->client->propfind($path, array('{DAV:}getlastmodified','{DAV:}getcontentlength')); |
|
|
|
|
if(isset($response['{DAV:}getlastmodified']) and isset($response['{DAV:}getcontentlength'])){ |
|
|
|
|
return array( |
|
|
|
|
'mtime'=>strtotime($response['{DAV:}getlastmodified']), |
|
|
|
|
'size'=>(int)$response['{DAV:}getcontentlength'], |
|
|
|
|
'ctime'=>-1, |
|
|
|
|
); |
|
|
|
|
}else{ |
|
|
|
|
return array(); |
|
|
|
|
} |
|
|
|
|
return array( |
|
|
|
|
'mtime'=>strtotime($response['{DAV:}getlastmodified']), |
|
|
|
|
'size'=>(int)isset($response['{DAV:}getcontentlength']) ? $response['{DAV:}getcontentlength'] : 0, |
|
|
|
|
'ctime'=>-1, |
|
|
|
|
); |
|
|
|
|
}catch(Exception $e){ |
|
|
|
|
return array(); |
|
|
|
|
} |
|
|
|
|