Merge pull request #7628 from owncloud/fileinfo-type

Fix FileInfo->getType errors
This commit is contained in:
Thomas Tanghus 2014-03-09 23:34:01 +01:00
commit 212699e389
2 changed files with 14 additions and 4 deletions

View File

@ -53,7 +53,13 @@ class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess {
}
public function offsetGet($offset) {
return $this->data[$offset];
if ($offset === 'type') {
return $this->getType();
} elseif (isset($this->data[$offset])) {
return $this->data[$offset];
} else {
return null;
}
}
/**
@ -144,10 +150,14 @@ class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess {
* @return \OCP\Files\FileInfo::TYPE_FILE | \OCP\Files\FileInfo::TYPE_FOLDER
*/
public function getType() {
return $this->data['type'];
if (isset($this->data['type'])) {
return $this->data['type'];
} else {
return $this->getMimetype() === 'httpd/unix-directory' ? self::TYPE_FOLDER : self::TYPE_FILE;
}
}
public function getData(){
public function getData() {
return $this->data;
}

View File

@ -9,7 +9,7 @@ namespace OCP\Files;
interface FileInfo {
const TYPE_FILE = 'file';
const TYPE_FOLDER = 'folder';
const TYPE_FOLDER = 'dir';
/**
* Get the Etag of the file or folder