diff options
author | Robin Appelman <icewind@owncloud.com> | 2014-01-24 15:54:40 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2014-01-24 15:54:40 +0100 |
commit | fc5f20112efe03b203978c4b1045ed70c2ce5e74 (patch) | |
tree | 3d40c55cf53b472c90b81fef4ef60426e408f40b | |
parent | 3971b12768ebe4fb410724a127173c38639c0a97 (diff) | |
download | nextcloud-server-fc5f20112efe03b203978c4b1045ed70c2ce5e74.tar.gz nextcloud-server-fc5f20112efe03b203978c4b1045ed70c2ce5e74.zip |
Add isReadable, isUpdateable, isDeletable, isShareable
-rw-r--r-- | lib/private/files/fileinfo.php | 38 | ||||
-rw-r--r-- | lib/public/files/fileinfo.php | 28 |
2 files changed, 65 insertions, 1 deletions
diff --git a/lib/private/files/fileinfo.php b/lib/private/files/fileinfo.php index b80873d1d00..7edea13df96 100644 --- a/lib/private/files/fileinfo.php +++ b/lib/private/files/fileinfo.php @@ -122,7 +122,7 @@ class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess, \JsonSerializable { /** * @return int */ - public function getMtime() { + public function getMTime() { return $this->data['mtime']; } @@ -150,4 +150,40 @@ class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess, \JsonSerializable { public function getData(){ return $this->data; } + + /** + * @param int $permissions + * @return bool + */ + protected function checkPermissions($permissions) { + return ($this->getPermissions() & $permissions) === $permissions; + } + + /** + * @return bool + */ + public function isReadable() { + return $this->checkPermissions(\OCP\PERMISSION_READ); + } + + /** + * @return bool + */ + public function isUpdateable() { + return $this->checkPermissions(\OCP\PERMISSION_UPDATE); + } + + /** + * @return bool + */ + public function isDeletable() { + return $this->checkPermissions(\OCP\PERMISSION_DELETE); + } + + /** + * @return bool + */ + public function isShareable() { + return $this->checkPermissions(\OCP\PERMISSION_SHARE); + } } diff --git a/lib/public/files/fileinfo.php b/lib/public/files/fileinfo.php index cbe216023da..68ce45d3fa1 100644 --- a/lib/public/files/fileinfo.php +++ b/lib/public/files/fileinfo.php @@ -107,4 +107,32 @@ interface FileInfo { * @return \OCP\Files\FileInfo::TYPE_FILE | \OCP\Files\FileInfo::TYPE_FOLDER */ public function getType(); + + /** + * Check if the file or folder is readable + * + * @return bool + */ + public function isReadable(); + + /** + * Check if a file is writable + * + * @return bool + */ + public function isUpdateable(); + + /** + * Check if a file or folder can be deleted + * + * @return bool + */ + public function isDeletable(); + + /** + * Check if a file or folder can be shared + * + * @return bool + */ + public function isShareable(); } |