From: Roland Haeder <roland@mxchange.org>
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 <roland@mxchange.org>
---

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.