]> git.mxchange.org Git - friendica.git/blobdiff - mod/xrd.php
Merge remote-tracking branch 'upstream/2018.08-rc' into ap1
[friendica.git] / mod / xrd.php
index d251d41fe3764e9937d41dd723d671aaf789f141..87766ca26e5890d7d33605c82c29d70e517181be 100644 (file)
@@ -2,24 +2,33 @@
 /**
  * @file mod/xrd.php
  */
+
 use Friendica\App;
 use Friendica\Core\Addon;
 use Friendica\Core\System;
-use Friendica\Database\DBM;
+use Friendica\Database\DBA;
 use Friendica\Protocol\Salmon;
 
 function xrd_init(App $a)
 {
        if ($a->argv[0] == 'xrd') {
+               if (empty($_GET['uri'])) {
+                       killme();
+               }
+
                $uri = urldecode(notags(trim($_GET['uri'])));
-               if ($_SERVER['HTTP_ACCEPT'] == 'application/jrd+json') {
+               if (defaults($_SERVER, 'HTTP_ACCEPT', '') == 'application/jrd+json') {
                        $mode = 'json';
                } else {
                        $mode = 'xml';
                }
        } else {
+               if (empty($_GET['resource'])) {
+                       killme();
+               }
+
                $uri = urldecode(notags(trim($_GET['resource'])));
-               if ($_SERVER['HTTP_ACCEPT'] == 'application/xrd+xml') {
+               if (defaults($_SERVER, 'HTTP_ACCEPT', '') == 'application/xrd+xml') {
                        $mode = 'xml';
                } else {
                        $mode = 'json';
@@ -37,8 +46,8 @@ function xrd_init(App $a)
                $name = substr($local, 0, strpos($local, '@'));
        }
 
-       $user = dba::selectFirst('user', [], ['nickname' => $name]);
-       if (!DBM::is_result($user)) {
+       $user = DBA::selectFirst('user', [], ['nickname' => $name]);
+       if (!DBA::isResult($user)) {
                killme();
        }
 
@@ -83,6 +92,10 @@ function xrd_json($a, $uri, $alias, $profile_url, $r)
                        ['rel' => 'http://purl.org/openwebauth/v1', 'type' => 'application/x-dfrn+json', 'href' => System::baseUrl().'/owa']
                ]
        ];
+       if ($r['uid'] == 180) {
+               $json['links'][] = ['rel' => 'self', 'type' => 'application/activity+json', 'href' => $profile_url];
+       }
+
        echo json_encode($json);
        killme();
 }