diff options
author | Lukas Reschke <lukas@owncloud.com> | 2015-11-30 15:40:10 +0100 |
---|---|---|
committer | Lukas Reschke <lukas@owncloud.com> | 2015-11-30 15:40:10 +0100 |
commit | 574f9b1e3f27da9b68e85ff60d0ae21e852be1c7 (patch) | |
tree | 67c384e652250fdf69f45678d05271b45a2f8871 /ocs | |
parent | a94819f4a47ba98b185c9c75eab43d8cb933ed5c (diff) | |
download | nextcloud-server-574f9b1e3f27da9b68e85ff60d0ae21e852be1c7.tar.gz nextcloud-server-574f9b1e3f27da9b68e85ff60d0ae21e852be1c7.zip |
Use XMLWriter to generate response
Gets rid of manual XML generation.
Diffstat (limited to 'ocs')
-rw-r--r-- | ocs/providers.php | 47 |
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(); |