API: Complete respond function

This commit is contained in:
Bart Visscher 2012-08-01 19:48:51 +02:00
parent c11c2d0fd4
commit 93daa9e247
1 changed files with 22 additions and 3 deletions

View File

@ -115,13 +115,32 @@ class OC_API {
*/
private static function respond($response, $format='json'){
if ($format == 'json') {
echo json_encode($response);
//} else if ($format == 'xml') {
// TODO array to xml
OC_JSON::encodedPrint($response);
} else if ($format == 'xml') {
header('Content-type: text/xml; charset=UTF-8');
$writer = new XMLWriter();
$writer->openMemory();
$writer->setIndent( true );
$writer->startDocument();
self::toXML($response, $writer);
$writer->endDocument();
echo $writer->outputMemory(true);
} else {
var_dump($format, $response);
}
}
private static function toXML($array, $writer){
foreach($array as $k => $v) {
if (is_array($v)) {
$writer->startElement($k);
self::toXML($v, $writer);
$writer->endElement();
} else {
$writer->writeElement($k, $v);
}
}
}
/**
* check if the user is authenticated