]> git.mxchange.org Git - friendica.git/blobdiff - src/Network/Probe.php
Some more places changed to the new contact avatar path format
[friendica.git] / src / Network / Probe.php
index f4ca0398a85f2f972c231ca419137dced9b325c7..e44a8d326ecf92bd16d1da9bdfb5fd2b0d756029 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2021, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -87,8 +87,8 @@ class Probe
         */
        private static function rearrangeData($data)
        {
-               $fields = ["name", "nick", "guid", "url", "addr", "alias", "photo", "account-type",
-                               "community", "keywords", "location", "about", "hide",
+               $fields = ["name", "nick", "guid", "url", "addr", "alias", "photo", "header",
+                               "account-type", "community", "keywords", "location", "about", "hide",
                                "batch", "notify", "poll", "request", "confirm", "subscribe", "poco",
                                "following", "followers", "inbox", "outbox", "sharedinbox",
                                "priority", "network", "pubkey", "manually-approve", "baseurl", "gsid"];
@@ -439,6 +439,9 @@ class Probe
                }
 
                $body = $curlResult->getBody();
+               if (empty($body)) {
+                       return false;
+               }
 
                $doc = new DOMDocument();
                @$doc->loadHTML($body);
@@ -1013,18 +1016,18 @@ class Probe
                $curlResult = DI::httpRequest()->get($noscrape_url);
                if ($curlResult->isTimeout()) {
                        self::$istimeout = true;
-                       return [];
+                       return $data;
                }
                $content = $curlResult->getBody();
                if (!$content) {
                        Logger::info('Empty body', ['url' => $noscrape_url]);
-                       return [];
+                       return $data;
                }
 
                $json = json_decode($content, true);
                if (!is_array($json)) {
                        Logger::info('No json data', ['url' => $noscrape_url]);
-                       return [];
+                       return $data;
                }
 
                if (!empty($json["fn"])) {
@@ -1274,7 +1277,7 @@ class Probe
                        return [];
                }
                $content = $curlResult->getBody();
-               if (!$content) {
+               if (empty($content)) {
                        return [];
                }
 
@@ -1610,7 +1613,7 @@ class Probe
        private static function pumpioProfileData($profile_link)
        {
                $curlResult = DI::httpRequest()->get($profile_link);
-               if (!$curlResult->isSuccess()) {
+               if (!$curlResult->isSuccess() || empty($curlResult->getBody())) {
                        return [];
                }
 
@@ -1754,6 +1757,10 @@ class Probe
         */
        public static function getFeedLink(string $url, string $body)
        {
+               if (empty($body)) {
+                       return '';
+               }
+
                $doc = new DOMDocument();
                if (!@$doc->loadHTML($body)) {
                        return false;
@@ -2215,8 +2222,9 @@ class Probe
 
                $data = ['name' => $profile['name'], 'nick' => $profile['nick'], 'guid' => $approfile['diaspora:guid'] ?? '',
                        'url' => $profile['url'], 'addr' => $profile['addr'], 'alias' => $profile['alias'],
-                       'photo' => $profile['photo'], 'account-type' => $profile['contact-type'],
-                       'community' => ($profile['contact-type'] == User::ACCOUNT_TYPE_COMMUNITY),
+                       'photo' => Contact::getAvatarUrlForId($profile['id'], $profile['updated']),
+                       'header' => $profile['header'] ? Contact::getHeaderUrlForId($profile['id'], $profile['updated']) : '',
+                       'account-type' => $profile['contact-type'], 'community' => ($profile['contact-type'] == User::ACCOUNT_TYPE_COMMUNITY),
                        'keywords' => $profile['keywords'], 'location' => $profile['location'], 'about' => $profile['about'], 
                        'hide' => !$profile['net-publish'], 'batch' => '', 'notify' => $profile['notify'],
                        'poll' => $profile['poll'], 'request' => $profile['request'], 'confirm' => $profile['confirm'],