]> git.mxchange.org Git - friendica.git/commitdiff
Some fixes:
authorRoland Haeder <roland@mxchange.org>
Sun, 1 May 2016 12:52:48 +0000 (14:52 +0200)
committerRoland Haeder <roland@mxchange.org>
Sun, 1 May 2016 12:52:48 +0000 (14:52 +0200)
- Letting $profile_link and $hcard always been overwritten with newly found
  entries has caused DFRN network detectio to fail and "connect" is no longer
  working. This fix makes sure that these both variables are only set if they
  are still empty.
- added more debug lines to see which URL was it before and after webfinger "detection"

Signed-off-by: Roland Haeder <roland@mxchange.org>
include/network.php
mod/dfrn_request.php

index d27a090fe247543af2a10cec5a01f580448873db..a7f944d90ac480a4c702dd7dfdf5c5d8dd72c032 100644 (file)
@@ -393,12 +393,13 @@ function webfinger_dfrn($webbie,&$hcard) {
        logger('webfinger_dfrn: ' . $webbie . ':' . print_r($links,true), LOGGER_DATA);
        if(count($links)) {
                foreach($links as $link) {
-                       if($link['@attributes']['rel'] === NAMESPACE_DFRN)
+                       if(empty($profile_link) && $link['@attributes']['rel'] === NAMESPACE_DFRN) {
                                $profile_link = $link['@attributes']['href'];
-                       if($link['@attributes']['rel'] === NAMESPACE_OSTATUSSUB)
+                       } elseif(empty($profile_link) && $link['@attributes']['rel'] === NAMESPACE_OSTATUSSUB) {
                                $profile_link = 'stat:' . $link['@attributes']['template'];
-                       if($link['@attributes']['rel'] === 'http://microformats.org/profile/hcard')
+                       } elseif(empty($hcard) && $link['@attributes']['rel'] === 'http://microformats.org/profile/hcard') {
                                $hcard = $link['@attributes']['href'];
+                       }
                }
        }
        return $profile_link;
index 5932b9b669b87e0795b89c3120e6281c8c3ff481..dc9d32adf491b7e31dfa87fbb990103a200b3296 100644 (file)
@@ -441,9 +441,13 @@ function dfrn_request_post(&$a) {
                        $data = probe_url($url);
                        $network = $data["network"];
 
+                       logger('dfrn_request: url=' . $url . ',network=' . $network . ',hcard=' . $hcard . ' - BEFORE!', LOGGER_DEBUG);
+
                        // Canonicalise email-style profile locator
                        $url = webfinger_dfrn($url,$hcard);
 
+                       logger('dfrn_request: url=' . $url . ',network=' . $network . ',hcard=' . $hcard . ' - AFTER!', LOGGER_DEBUG);
+
                        if (substr($url,0,5) === 'stat:') {
 
                                // Every time we detect the remote subscription we define this as OStatus.