Don't use OC_FileCache directly, but use the functions in OC_Files

This adds getFileInfo to OC_Files to also get fileinfo from shared files
This commit is contained in:
Bart Visscher 2012-09-21 13:30:39 +02:00
parent 2a7a928ae9
commit b6dc6c5bb9
2 changed files with 33 additions and 3 deletions

View file

@ -93,10 +93,12 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa
$path = $this->path . '/' . $name;
if (is_null($info)) {
$info = OC_FileCache::get($path);
OC_Files::getFileInfo($path);
}
if (!$info) throw new Sabre_DAV_Exception_NotFound('File with name ' . $path . ' could not be located');
if (!$info) {
throw new Sabre_DAV_Exception_NotFound('File with name ' . $path . ' could not be located');
}
if ($info['mimetype'] == 'httpd/unix-directory') {
$node = new OC_Connector_Sabre_Directory($path);
@ -115,7 +117,7 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa
*/
public function getChildren() {
$folder_content = OC_FileCache::getFolderContent($this->path);
$folder_content = OC_Files::getDirectoryContent($this->path);
$paths = array();
foreach($folder_content as $info) {
$paths[] = $this->path.'/'.$info['name'];

View file

@ -28,6 +28,34 @@
class OC_Files {
static $tmpFiles=array();
/**
* get the filesystem info
* @param string path
* @return array
*
* returns an associative array with the following keys:
* - size
* - mtime
* - ctime
* - mimetype
* - encrypted
* - versioned
*/
public static function getFileInfo($path) {
if (($path == '/Shared' || substr($path, 0, 8) == '/Shared/') && OC_App::isEnabled('files_sharing')) {
if ($path == '/Shared') {
$info = OCP\Share::getItemsSharedWith('file', OC_Share_Backend_File::FORMAT_FILE_APP_ROOT);
}
else {
$info = OCP\Share::getItemSharedWith('file', '/'.$name, OC_Share_Backend_File::FORMAT_FILE_APP);
}
$info = $info[0];
}
else {
$info = OC_FileCache::get($path);
}
}
/**
* get the content of a directory
* @param dir $directory path under datadirectory