]> git.mxchange.org Git - friendica.git/commitdiff
XRD now should react more like an OStatus server
authorMichael Vogel <icarus@dabo.de>
Mon, 28 Dec 2015 00:04:14 +0000 (01:04 +0100)
committerMichael Vogel <icarus@dabo.de>
Mon, 28 Dec 2015 00:04:14 +0000 (01:04 +0100)
mod/xrd.php
view/templates/xrd_person.tpl

index dfb188c138197f17bdd00aa2f608aec17df7cb25..c23119145ca4d0685f0aab07ed549dd7df997f3d 100644 (file)
@@ -6,9 +6,11 @@ function xrd_init(&$a) {
 
        $uri = urldecode(notags(trim($_GET['uri'])));
 
-       if(substr($uri,0,4) === 'http')
+       if(substr($uri,0,4) === 'http') {
+               $acct = false;
                $name = basename($uri);
-       else {
+       } else {
+               $acct = true;
                $local = str_replace('acct:', '', $uri);
                if(substr($local,0,2) == '//')
                        $local = substr($local,2);
@@ -28,7 +30,6 @@ function xrd_init(&$a) {
        header("Content-type: text/xml");
 
        if(get_config('system','diaspora_enabled')) {
-               //$tpl = file_get_contents('view/xrd_diaspora.tpl');
                $tpl = get_markup_template('xrd_diaspora.tpl');
                $dspr = replace_macros($tpl,array(
                        '$baseurl' => $a->get_baseurl(),
@@ -39,13 +40,24 @@ function xrd_init(&$a) {
        else
                $dspr = '';
 
-       //$tpl = file_get_contents('view/xrd_person.tpl');
        $tpl = get_markup_template('xrd_person.tpl');
 
+       $profile_url = $a->get_baseurl().'/profile/'.$r[0]['nickname'];
+
+       if ($acct)
+               $alias = $profile_url;
+       else {
+               $alias = 'acct:'.$r[0]['nickname'].'@'.$a->get_hostname();
+
+               if ($a->get_path())
+                       $alias .= '/'.$a->get_path();
+       }
+
        $o = replace_macros($tpl, array(
                '$nick'        => $r[0]['nickname'],
                '$accturi'     => $uri,
-               '$profile_url' => $a->get_baseurl() . '/profile/'       . $r[0]['nickname'],
+               '$alias'       => $alias,
+               '$profile_url' => $profile_url,
                '$hcard_url'   => $a->get_baseurl() . '/hcard/'         . $r[0]['nickname'],
                '$atom'        => $a->get_baseurl() . '/dfrn_poll/'     . $r[0]['nickname'],
                '$zot_post'    => $a->get_baseurl() . '/post/'          . $r[0]['nickname'],
index f3ac0332b82ac403cba2d5446b2062c1fe0a25c5..e418e33de0c3c0a1366f07ff107d5fd15d346ceb 100644 (file)
@@ -1,10 +1,9 @@
 
 <?xml version="1.0" encoding="UTF-8"?>
-<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
-    <Subject>{{$accturi}}</Subject>
-       <Alias>{{$accturi}}</Alias>
-    <Alias>{{$profile_url}}</Alias>
+<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0"> 
+       <Subject>{{$accturi}}</Subject>
+       <Alias>{{$profile_url}}</Alias>
+       <Alias>{{$alias}}</Alias>
  
     <Link rel="http://purl.org/macgirvin/dfrn/1.0"
           href="{{$profile_url}}" />