From: Roland Haeder Date: Sun, 1 May 2016 12:52:48 +0000 (+0200) Subject: Some fixes: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=738e22d3ebbde958e8eec1cf26f287fee978c7d1;p=friendica.git Some fixes: - 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 --- diff --git a/include/network.php b/include/network.php index d27a090fe2..a7f944d90a 100644 --- a/include/network.php +++ b/include/network.php @@ -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; diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php index 5932b9b669..dc9d32adf4 100644 --- a/mod/dfrn_request.php +++ b/mod/dfrn_request.php @@ -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.