Create XML output for RSD with XML::fromArray()

This commit is contained in:
Philipp Holzer 2019-05-05 18:15:39 +02:00
parent 440d0a3a63
commit f6af90fa32
No known key found for this signature in database
GPG key ID: 517BE60E2CE5C8A5
2 changed files with 38 additions and 19 deletions

View file

@ -3,7 +3,7 @@
namespace Friendica\Module; namespace Friendica\Module;
use Friendica\BaseModule; use Friendica\BaseModule;
use Friendica\Core\Renderer; use Friendica\Util\XML;
/** /**
* Prints the rsd.xml * Prints the rsd.xml
@ -14,8 +14,42 @@ class ReallySimpleDiscovery extends BaseModule
public static function rawContent() public static function rawContent()
{ {
header('Content-Type: text/xml'); header('Content-Type: text/xml');
$tpl = Renderer::getMarkupTemplate('rsd.tpl');
echo Renderer::replaceMacros($tpl); $app = self::getApp();
$xml = null;
echo XML::fromArray([
'rsd' => [
'@attributes' => [
'version' => '1.0',
'xmlns' => 'http://archipelago.phrasewise.com/rsd',
],
'service' => [
'engineName' => 'Friendica',
'engineLink' => 'http://friendica.com',
'apis' => [
'api' => [
'@attributes' => [
'name' => 'Twitter',
'preferred' => 'true',
'apiLink' => $app->getBaseURL(),
'blogID' => '',
],
'settings' => [
'docs' => [
'http://status.net/wiki/TwitterCompatibleAPI',
],
'setting' => [
'@attributes' => [
'name' => 'OAuth',
],
'false',
],
],
]
],
],
],
], $xml);
exit(); exit();
} }
} }

View file

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<rsd version="1.0" xmlns="http://archipelago.phrasewise.com/rsd">
<service>
<engineName>Friendica</engineName>
<engineLink>http://friendica.com/</engineLink>
<apis>
<api name="Twitter" preferred="true" apiLink="{{$baseurl}}/api/" blogID="">
<settings>
<docs>http://status.net/wiki/TwitterCompatibleAPI</docs>
<setting name="OAuth">false</setting>
</settings>
</api>
</apis>
</service>
</rsd>