]> git.mxchange.org Git - friendica.git/blob - src/Module/ReallySimpleDiscovery.php
Use rawContent for Special Options to avoid a protected options() method
[friendica.git] / src / Module / ReallySimpleDiscovery.php
1 <?php
2 /**
3  * @copyright Copyright (C) 2010-2022, the Friendica project
4  *
5  * @license GNU AGPL version 3 or any later version
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU Affero General Public License as
9  * published by the Free Software Foundation, either version 3 of the
10  * License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU Affero General Public License for more details.
16  *
17  * You should have received a copy of the GNU Affero General Public License
18  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19  *
20  */
21
22 namespace Friendica\Module;
23
24 use Friendica\BaseModule;
25 use Friendica\DI;
26 use Friendica\Util\XML;
27
28 /**
29  * Prints the rsd.xml
30  * @see http://danielberlinger.github.io/rsd/
31  */
32 class ReallySimpleDiscovery extends BaseModule
33 {
34         protected function rawContent(array $request = [])
35         {
36                 header('Content-Type: text/xml');
37
38                 $xml = null;
39                 echo XML::fromArray([
40                         'rsd' => [
41                                 '@attributes' => [
42                                         'version' => '1.0',
43                                         'xmlns'   => 'http://archipelago.phrasewise.com/rsd',
44                                 ],
45                                 'service'     => [
46                                         'engineName' => 'Friendica',
47                                         'engineLink' => 'http://friendica.com',
48                                         'apis'       => [
49                                                 'api' => [
50                                                         '@attributes' => [
51                                                                 'name'      => 'Twitter',
52                                                                 'preferred' => 'true',
53                                                                 'apiLink'   => DI::baseUrl()->get(),
54                                                                 'blogID'    => '',
55                                                         ],
56                                                         'settings'    => [
57                                                                 'docs'    => [
58                                                                         'http://status.net/wiki/TwitterCompatibleAPI',
59                                                                 ],
60                                                                 'setting' => [
61                                                                         '@attributes' => [
62                                                                                 'name' => 'OAuth',
63                                                                         ],
64                                                                         'false',
65                                                                 ],
66                                                         ],
67                                                 ]
68                                         ],
69                                 ],
70                         ],
71                 ], $xml);
72                 exit();
73         }
74 }