X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fxrd.php;h=de0c20ea5d39c5b7ef2b2f12a387429f1fe26d1b;hb=43110db749850e49d309ad8b3e72266bd373a2a8;hp=53985e10c1faf51a68dad545f58ac40be9b18fc0;hpb=013d2604f886bc7cbd2c5263d3577e8cf40f9fcc;p=friendica.git diff --git a/mod/xrd.php b/mod/xrd.php index 53985e10c1..de0c20ea5d 100644 --- a/mod/xrd.php +++ b/mod/xrd.php @@ -5,11 +5,16 @@ require_once('salmon.php'); function xrd_content(&$a) { $uri = urldecode(notags(trim($_GET['uri']))); - $local = str_replace('acct:', '', $uri); - if(substr($local,0,2) == '//') - $local = substr($local,2); - $name = substr($local,0,strpos($local,'@')); + if(substr($uri,0,4) === 'http') + $name = basename($uri); + else { + $local = str_replace('acct:', '', $uri); + if(substr($local,0,2) == '//') + $local = substr($local,2); + + $name = substr($local,0,strpos($local,'@')); + } $r = q("SELECT * FROM `user` WHERE `nickname` = '%s' LIMIT 1", dbesc($name) @@ -19,19 +24,25 @@ function xrd_content(&$a) { $salmon_key = salmon_key($r[0]['spubkey']); + header('Access-Control-Allow-Origin: *'); + header("Content-type: text/xml"); - - - $tpl = load_view_file('view/xrd_person.tpl'); + $tpl = file_get_contents('view/xrd_person.tpl'); $o = replace_macros($tpl, array( - '$accturi' => $uri, - '$profile_url' => $a->get_baseurl() . '/profile/' . $r[0]['nickname'], - '$photo' => $a->get_baseurl() . '/photo/profile/' . $r[0]['uid'], - '$salmon' => $a->get_baseurl() . '/salmon/' . $r[0]['nickname'] . '/mention', - '$modexp' => 'data:application/magic-public-key,' . $salmon_key + '$accturi' => $uri, + '$profile_url' => $a->get_baseurl() . '/profile/' . $r[0]['nickname'], + '$atom' => $a->get_baseurl() . '/dfrn_poll/' . $r[0]['nickname'], + '$photo' => $a->get_baseurl() . '/photo/profile/' . $r[0]['uid'] . '.jpg', + '$salmon' => $a->get_baseurl() . '/salmon/' . $r[0]['nickname'], + '$salmen' => $a->get_baseurl() . '/salmon/' . $r[0]['nickname'] . '/mention', + '$modexp' => 'data:application/magic-public-key,' . $salmon_key )); + + $arr = array('user' => $r[0], 'xml' => $o); + call_hooks('personal_xrd', $arr); + echo $o; killme();