Add getUserFolder/getAppFolder to Server.

remotes/origin/stable6
Thomas Tanghus 12 years ago
parent 415a27c1ae
commit 6ba23912a7
  1. 14
      lib/public/iservercontainer.php
  2. 35
      lib/server.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 current session
*

@ -56,6 +56,17 @@ class Server extends SimpleContainer implements IServerContainer {
$view = new View();
return new Root($manager, $view, $user);
});
$this->registerService('CustomFolder', function($c) {
$dir = $c['CustomFolderPath'];
$root = $this->getRootFolder();
$folder = null;
if(!$root->nodeExists($dir)) {
$folder = $root->newFolder($dir);
} else {
$folder = $root->get($dir);
}
return $folder;
});
}
/**
@ -97,6 +108,30 @@ class Server extends SimpleContainer implements IServerContainer {
return $this->query('RootFolder');
}
/**
* Returns a view to ownCloud's files folder
*
* @return \OCP\Files\Folder
*/
function getUserFolder() {
$this->registerParameter('CustomFolderPath', '/files');
return $this->query('CustomFolder');
}
/**
* Returns an app-specific view in ownClouds data directory
*
* @return \OCP\Files\Folder
*/
function getAppFolder() {
$this->registerParameter('CustomFolderPath', '/' . \OC_App::getCurrentApp());
return $this->query('CustomFolder');
}
/**
* Returns the current session
*

Loading…
Cancel
Save