$name = str_replace(array('/', '{', '}'), '_', $name);
if(!isset(self::$actions[$name])){
OC::getRouter()->useCollection('ocs');
- OC::getRouter()->create($name, $url.'.{_format}')
+ OC::getRouter()->create($name, $url)
->method($method)
- ->defaults(array('_format' => 'xml') + $defaults)
- ->requirements(array('_format' => 'xml|json') + $requirements)
->action('OC_API', 'call');
self::$actions[$name] = array();
}
// Merge the responses
$response = self::mergeResponses($responses);
// Send the response
- if(isset($parameters['_format'])){
- self::respond($response, $parameters['_format']);
- } else {
- self::respond($response);
- }
+ $formats = array('json', 'xml');
+ $format = !empty($_GET['format']) && in_array($_GET['format'], $formats) ? $_GET['format'] : 'xml';
+ self::respond($response, $format);
// logout the user to be stateless
OC_User::logout();
}
* @param int|array $response the response
* @param string $format the format xml|json
*/
- private static function respond($response, $format='json'){
+ private static function respond($response, $format='xml'){
if ($format == 'json') {
OC_JSON::encodedPrint($response);
} else if ($format == 'xml') {