aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/public/iservercontainer.php14
-rw-r--r--lib/server.php37
2 files changed, 51 insertions, 0 deletions
diff --git a/lib/public/iservercontainer.php b/lib/public/iservercontainer.php
index 4478a4e8a6c..6d291321957 100644
--- a/lib/public/iservercontainer.php
+++ b/lib/public/iservercontainer.php
@@ -63,6 +63,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
*
* @return \OCP\IUserSession
diff --git a/lib/server.php b/lib/server.php
index 804af6b0eac..fccb8fad4d0 100644
--- a/lib/server.php
+++ b/lib/server.php
@@ -149,6 +149,42 @@ class Server extends SimpleContainer implements IServerContainer {
}
/**
+ * 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
*/
function getUserManager() {
@@ -175,6 +211,7 @@ class Server extends SimpleContainer implements IServerContainer {
function getConfig() {
return $this->query('AllConfig');
}
+
/**
* Returns an ICache instance
*