Browse Source

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
remotes/origin/stable45
Bart Visscher 13 years ago
parent
commit
b6dc6c5bb9
  1. 8
      lib/connector/sabre/directory.php
  2. 28
      lib/files.php

8
lib/connector/sabre/directory.php

@ -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'];

28
lib/files.php

@ -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

Loading…
Cancel
Save