Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Reschke <lukas@owncloud.com>2015-11-30 17:40:10 +0300
committerLukas Reschke <lukas@owncloud.com>2015-11-30 17:40:10 +0300
commit574f9b1e3f27da9b68e85ff60d0ae21e852be1c7 (patch)
tree67c384e652250fdf69f45678d05271b45a2f8871 /ocs/providers.php
parenta94819f4a47ba98b185c9c75eab43d8cb933ed5c (diff)
Use XMLWriter to generate response
Gets rid of manual XML generation.
Diffstat (limited to 'ocs/providers.php')
-rw-r--r--ocs/providers.php47
1 files changed, 29 insertions, 18 deletions
diff --git a/ocs/providers.php b/ocs/providers.php
index ce818a0cb6a..f82c20eba63 100644
--- a/ocs/providers.php
+++ b/ocs/providers.php
@@ -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();