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) { 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 * @return \OCP\Files\FileInfo::TYPE_FILE | \OCP\Files\FileInfo::TYPE_FOLDER
*/ */
public function getType() { 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; return $this->data;
} }

View File

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