diff --git a/lib/public/iservercontainer.php b/lib/public/iservercontainer.php index 4478a4e8a6cd47a61de766f8ea71105745d744c9..6d291321957a829f29d4bbdb8596a6bc61ca5e5c 100644 --- a/lib/public/iservercontainer.php +++ b/lib/public/iservercontainer.php @@ -62,6 +62,20 @@ interface IServerContainer { */ function getRootFolder(); + /** + * Returns a view to ownCloud's files folder + * + * @return \OCP\Files\Folder + */ + function getUserFolder(); + + /** + * Returns an app-specific view in ownClouds data directory + * + * @return \OCP\Files\Folder + */ + function getAppFolder(); + /** * Returns the user session * diff --git a/lib/server.php b/lib/server.php index 804af6b0eac7cfc9a170ba8c317dfcf32e211264..fccb8fad4d00b2d5fe6f31ae9cb29a32edc31a3b 100644 --- a/lib/server.php +++ b/lib/server.php @@ -148,6 +148,42 @@ class Server extends SimpleContainer implements IServerContainer { return $this->query('RootFolder'); } + /** + * Returns a view to ownCloud's files folder + * + * @return \OCP\Files\Folder + */ + function getUserFolder() { + + $dir = '/files'; + $root = $this->getRootFolder(); + $folder = null; + if(!$root->nodeExists($dir)) { + $folder = $root->newFolder($dir); + } else { + $folder = $root->get($dir); + } + return $folder; + } + + /** + * Returns an app-specific view in ownClouds data directory + * + * @return \OCP\Files\Folder + */ + function getAppFolder() { + + $dir = '/' . \OC_App::getCurrentApp(); + $root = $this->getRootFolder(); + $folder = null; + if(!$root->nodeExists($dir)) { + $folder = $root->newFolder($dir); + } else { + $folder = $root->get($dir); + } + return $folder; + } + /** * @return \OC\User\Manager */ @@ -175,6 +211,7 @@ class Server extends SimpleContainer implements IServerContainer { function getConfig() { return $this->query('AllConfig'); } + /** * Returns an ICache instance *