summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-11-30 17:32:32 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2015-11-30 17:32:32 +0100
commitb6cc9f9d19cacc425d45fa3860c44651f0d278f3 (patch)
treeb0b3ac2ea2386f9350707bbd31c5891b9ee69359
parentb9faba8857ffb7ecd51f2be4f6619f2a6201c6a9 (diff)
parent574f9b1e3f27da9b68e85ff60d0ae21e852be1c7 (diff)
downloadnextcloud-server-b6cc9f9d19cacc425d45fa3860c44651f0d278f3.tar.gz
nextcloud-server-b6cc9f9d19cacc425d45fa3860c44651f0d278f3.zip
Merge pull request #20841 from owncloud/generate-response-using-xml-writer
Use XMLWriter to generate response
-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();