diff options
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(); |