use Friendica\App;
use Friendica\Core\Addon;
use Friendica\Core\System;
-use Friendica\Database\dba;
-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 (defaults($_SERVER, 'HTTP_ACCEPT', '') == 'application/jrd+json') {
$mode = 'json';
$mode = 'xml';
}
} else {
+ if (empty($_GET['resource'])) {
+ killme();
+ }
+
$uri = urldecode(notags(trim($_GET['resource'])));
if (defaults($_SERVER, 'HTTP_ACCEPT', '') == 'application/xrd+xml') {
$mode = 'xml';
$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();
}
['rel' => NAMESPACE_DFRN, 'href' => $profile_url],
['rel' => NAMESPACE_FEED, 'type' => 'application/atom+xml', 'href' => System::baseUrl().'/dfrn_poll/'.$r['nickname']],
['rel' => 'http://webfinger.net/rel/profile-page', 'type' => 'text/html', 'href' => $profile_url],
+ ['rel' => 'self', 'type' => 'application/activity+json', 'href' => $profile_url],
['rel' => 'http://microformats.org/profile/hcard', 'type' => 'text/html', 'href' => System::baseUrl().'/hcard/'.$r['nickname']],
['rel' => NAMESPACE_POCO, 'href' => System::baseUrl().'/poco/'.$r['nickname']],
['rel' => 'http://webfinger.net/rel/avatar', 'type' => 'image/jpeg', 'href' => System::baseUrl().'/photo/profile/'.$r['uid'].'.jpg'],
['rel' => 'http://purl.org/openwebauth/v1', 'type' => 'application/x-dfrn+json', 'href' => System::baseUrl().'/owa']
]
];
+
echo json_encode($json);
killme();
}