From: Michael <heluecht@pirati.ca>
Date: Sun, 22 Dec 2019 17:20:11 +0000 (+0000)
Subject: Renamed function, added documentation
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=4653d7d3b0972de78130ebeca8c3217a1cd65fe4;p=friendica.git

Renamed function, added documentation
---

diff --git a/src/Network/Probe.php b/src/Network/Probe.php
index 514cd69893..629453f182 100644
--- a/src/Network/Probe.php
+++ b/src/Network/Probe.php
@@ -359,9 +359,9 @@ class Probe
 			$data['url'] = $uri;
 		}
 
-		if (!empty($data['photo'])) {
-			$data['baseurl'] = Network::getUrlMatch(Strings::normaliseLink($data['baseurl'] ?? ''), Strings::normaliseLink($data['photo']));
-		} else {
+		if (!empty($data['photo']) && !empty($data["baseurl"])) {
+			$data['baseurl'] = Network::getUrlMatch(Strings::normaliseLink($data['baseurl']), Strings::normaliseLink($data['photo']));
+		} elseif (empty($data['photo'])) {
 			$data['photo'] = System::baseUrl() . '/images/person-300.jpg';
 		}
 
@@ -651,7 +651,7 @@ class Probe
 			$result = self::pumpio($webfinger, $addr, $result);
 		}
 		if ((empty($result['network']) && ($network == "")) || ($network == Protocol::ZOT)) {
-			$result = self::hubzilla($webfinger, $result);
+			$result = self::zot($webfinger, $result);
 		}
 		if ((empty($result['network']) && ($network == "")) || ($network == Protocol::FEED)) {
 			$result = self::feed($uri, true, $result);
@@ -677,7 +677,7 @@ class Probe
 
 		Logger::log($uri." is ".$result["network"], Logger::DEBUG);
 
-		if (empty($result["baseurl"])) {
+		if (empty($result["baseurl"]) && ($result["network"] != Protocol::PHANTOM)) {
 			$pos = strpos($result["url"], $host);
 			if ($pos) {
 				$result["baseurl"] = substr($result["url"], 0, $pos).$host;
@@ -686,29 +686,21 @@ class Probe
 		return $result;
 	}
 
-	private static function hubzilla($webfinger, $data)
+	/**
+	 * Check for Zot contact
+	 *
+	 * @param array $webfinger Webfinger data
+	 * @param array $data      previously probed data
+	 *
+	 * @return array Zot data
+	 * @throws HTTPException\InternalServerErrorException
+	 */
+	private static function zot($webfinger, $data)
 	{
-		if (strstr($webfinger['properties']['http://purl.org/zot/federation'] ?? '', 'zot')) {
-			$data['network'] = Protocol::ZOT;
-		}
-		if (!empty($webfinger['properties']['http://webfinger.net/ns/name'])) {
-			$data['name'] = $webfinger['properties']['http://webfinger.net/ns/name'];
-		}
-		if (!empty($webfinger['properties']['https://w3id.org/security/v1#publicKeyPem'])) {
-			$data['pubkey'] = $webfinger['properties']['https://w3id.org/security/v1#publicKeyPem'];
-		}
-//print_r($webfinger);
-		$hcard_url = '';
 		$zot_url = '';
 		foreach ($webfinger['links'] as $link) {
-			if (($link['rel'] == 'http://microformats.org/profile/hcard') && !empty($link['href'])) {
-				$hcard_url = $link['href'];
-			} elseif (($link['rel'] == 'http://purl.org/zot/protocol') && !empty($link['href'])) {
+			if (($link['rel'] == 'http://purl.org/zot/protocol') && !empty($link['href'])) {
 				$zot_url = $link['href'];
-			} elseif (($link["rel"] == "http://purl.org/zot/protocol/6.0") && !empty($link["href"])) {
-				$data["url"] = $link["href"];
-			} elseif (($link["rel"] == "http://webfinger.net/rel/blog") && !empty($link["href"]) && empty($data["url"])) {
-				$data["url"] = $link["href"];
 			}
 		}
 
@@ -716,10 +708,6 @@ class Probe
 			$zot_url = self::$baseurl . '/.well-known/zot-info?address=' . $data['addr'];
 		}
 
-		if (!empty($hcard_url)) {
-			$data = self::pollHcard($hcard_url, $data, false);
-		}
-
 		if (!empty($zot_url)) {
 			$data = self::pollZot($zot_url, $data);
 		}
@@ -745,6 +733,8 @@ class Probe
 
 		if (!empty($json['protocols']) && in_array('zot', $json['protocols'])) {
 			$data['network'] = Protocol::ZOT;
+		} elseif (!isset($json['protocols'])) {
+			$data['network'] = Protocol::ZOT;
 		}
 
 		if (!empty($json['guid'])) {
@@ -756,6 +746,9 @@ class Probe
 		if (!empty($json['name'])) {
 			$data['name'] = $json['name'];
 		}
+		if (!empty($json['photo']) && empty($data['photo'])) {
+			$data['photo'] = $json['photo'];
+		}
 		if (!empty($json['address'])) {
 			$data['addr'] = $json['address'];
 		}
@@ -1273,6 +1266,7 @@ class Probe
 	 * @brief Check for Diaspora contact
 	 *
 	 * @param array $webfinger Webfinger data
+	 * @param array $data      previously probed data
 	 *
 	 * @return array Diaspora data
 	 * @throws HTTPException\InternalServerErrorException
@@ -1358,6 +1352,7 @@ class Probe
 	 *
 	 * @param array $webfinger Webfinger data
 	 * @param bool  $short     Short detection mode
+	 * @param array $data      previously probed data
 	 *
 	 * @return array|bool OStatus data or "false" on error or "true" on short mode
 	 * @throws HTTPException\InternalServerErrorException
@@ -1546,9 +1541,9 @@ class Probe
 	/**
 	 * @brief Check for pump.io contact
 	 *
-	 * @param array $webfinger Webfinger data
-	 *
-	 * @param       $addr
+	 * @param array  $webfinger Webfinger data
+	 * @param string $addr
+	 * @param array  $data previously probed data
 	 * @return array pump.io data
 	 */
 	private static function pumpio($webfinger, $addr, $data)
@@ -1708,6 +1703,7 @@ class Probe
 	 *
 	 * @param string  $url   Profile link
 	 * @param boolean $probe Do a probe if the page contains a feed link
+	 * @param array   $data  previously probed data
 	 *
 	 * @return array feed data
 	 * @throws HTTPException\InternalServerErrorException