summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/api.php10
-rw-r--r--ocs/routes.php2
2 files changed, 8 insertions, 4 deletions
diff --git a/lib/api.php b/lib/api.php
index 203b07880fd..cf699f547f3 100644
--- a/lib/api.php
+++ b/lib/api.php
@@ -38,14 +38,16 @@ class OC_API {
* @param callable $action the function to run
* @param string $app the id of the app registering the call
*/
- public static function register($method, $url, $action, $app){
+ public static function register($method, $url, $action, $app,
+ $defaults = array(),
+ $requirements = array()){
$name = strtolower($method).$url;
$name = str_replace(array('/', '{', '}'), '_', $name);
if(!isset(self::$actions[$name])){
OC::$router->create($name, $url.'.{_format}')
->method($method)
- ->defaults(array('_format' => 'xml'))
- ->requirements(array('_format' => 'xml|json'))
+ ->defaults(array('_format' => 'xml') + $defaults)
+ ->requirements(array('_format' => 'xml|json') + $requirements)
->action('OC_API', 'call');
self::$actions[$name] = array();
}
@@ -112,7 +114,7 @@ class OC_API {
private static function respond($response, $format='json'){
if ($format == 'json') {
echo json_encode($response);
- } else if ($format == 'xml') {
+ //} else if ($format == 'xml') {
// TODO array to xml
} else {
var_dump($format, $response);
diff --git a/ocs/routes.php b/ocs/routes.php
index 95df0c7ec91..ac23e29af8a 100644
--- a/ocs/routes.php
+++ b/ocs/routes.php
@@ -12,6 +12,8 @@ OC_API::register('post', '/person/check', array('OC_OCS_Person', 'check'), 'ocs'
// Activity
OC_API::register('get', '/activity', array('OC_OCS_Activity', 'activityGet'), 'ocs');
// Privatedata
+OC_API::register('get', '/privatedata/getattribute', array('OC_OCS_Privatedata', 'get'), 'ocs', array('app' => '', 'key' => ''));
+OC_API::register('get', '/privatedata/getattribute/{app}', array('OC_OCS_Privatedata', 'get'), 'ocs', array('key' => ''));
OC_API::register('get', '/privatedata/getattribute/{app}/{key}', array('OC_OCS_Privatedata', 'get'), 'ocs');
OC_API::register('post', '/privatedata/setattribute/{app}/{key}', array('OC_OCS_Privatedata', 'set'), 'ocs');
OC_API::register('post', '/privatedata/deleteattribute/{app}/{key}', array('OC_OCS_Privatedata', 'delete'), 'ocs');