]> source.dussan.org Git - nextcloud-server.git/commitdiff
Use XMLWriter to generate response
authorLukas Reschke <lukas@owncloud.com>
Mon, 30 Nov 2015 14:40:10 +0000 (15:40 +0100)
committerLukas Reschke <lukas@owncloud.com>
Mon, 30 Nov 2015 14:40:10 +0000 (15:40 +0100)
Gets rid of manual XML generation.

ocs/providers.php

index ce818a0cb6aeb36880d873ef251fa2855fba0bc6..f82c20eba63040c3565cb99ca1e7e992708400f9 100644 (file)
@@ -27,22 +27,33 @@ require_once '../lib/base.php';
 
 header('Content-type: application/xml');
 
-$url=OCP\Util::getServerProtocol().'://'.substr(OCP\Util::getServerHost().OCP\Util::getRequestUri(), 0, -17).'ocs/v1.php/';
+$request = \OC::$server->getRequest();
 
-echo('
-<providers>
-<provider>
- <id>ownCloud</id>
- <location>'.$url.'</location>
- <name>ownCloud</name>
- <icon></icon>
- <termsofuse></termsofuse>
- <register></register>
- <services>
-   <config ocsversion="1.7" />
-   <activity ocsversion="1.7" />
-   <cloud ocsversion="1.7" />
- </services>
-</provider>
-</providers>
-');
+$url = $request->getServerProtocol() . '://' . substr($request->getServerHost() . $request->getRequestUri(), 0, -17).'ocs/v1.php/';
+
+$writer = new XMLWriter();
+$writer->openURI('php://output');
+$writer->startDocument('1.0','UTF-8');
+$writer->setIndent(4);
+$writer->startElement('providers');
+$writer->startElement('provider');
+$writer->writeElement('id', 'ownCloud');
+$writer->writeElement('location', $url);
+$writer->writeElement('name', 'ownCloud');
+$writer->writeElement('icon', '');
+$writer->writeElement('termsofuse', '');
+$writer->writeElement('register', '');
+$writer->startElement('services');
+$writer->startElement('config');
+$writer->writeAttribute('ocsversion', '1.7');
+$writer->endElement();
+$writer->startElement('activity');
+$writer->writeAttribute('ocsversion', '1.7');
+$writer->endElement();
+$writer->startElement('cloud');
+$writer->writeAttribute('ocsversion', '1.7');
+$writer->endElement();
+$writer->endElement();
+$writer->endElement();
+$writer->endDocument();
+$writer->flush();