]> git.mxchange.org Git - friendica.git/commitdiff
Issue 8735: Ensure the correct data type for "hide"
authorMichael <heluecht@pirati.ca>
Sat, 6 Jun 2020 08:11:19 +0000 (08:11 +0000)
committerMichael <heluecht@pirati.ca>
Sat, 6 Jun 2020 08:11:19 +0000 (08:11 +0000)
src/Model/GContact.php
src/Network/Probe.php

index 3da5513b503ace78c2abdf35bb78f2f4a7b92a9e..fb4df9a63ae834d0bbab4dde8c0409859702a36f 100644 (file)
@@ -627,11 +627,6 @@ class GContact
                        $contact['network'] = Protocol::OSTATUS;
                }
 
-               // All new contacts are hidden by default
-               if (!isset($contact['hide'])) {
-                       $contact['hide'] = true;
-               }
-
                // Remove unwanted parts from the contact url (e.g. '?zrl=...')
                if (in_array($contact['network'], Protocol::FEDERATED)) {
                        $contact['url'] = self::cleanContactUrl($contact['url']);
@@ -646,6 +641,7 @@ class GContact
                        $contact['location'] = $contact['location'] ?? '';
                        $contact['about'] = $contact['about'] ?? '';
                        $contact['generation'] = $contact['generation'] ?? 0;
+                       $contact['hide'] = $contact['hide'] ?? true;
 
                        $fields = ['name' => $contact['name'], 'nick' => $contact['nick'] ?? '', 'addr' => $contact['addr'] ?? '', 'network' => $contact['network'],
                                'url' => $contact['url'], 'nurl' => Strings::normaliseLink($contact['url']), 'photo' => $contact['photo'],
index db4ef517d54a7270b6423e50a50539cd2496601e..7a6711c5f1d1751618be04599e224c78f8fb5f21 100644 (file)
@@ -92,7 +92,11 @@ class Probe
                $newdata = [];
                foreach ($fields as $field) {
                        if (isset($data[$field])) {
-                               $newdata[$field] = $data[$field];
+                               if (in_array($field, ["gsid", "hide", "account-type"])) {
+                                       $newdata[$field] = (int)$data[$field];
+                               } else {        
+                                       $newdata[$field] = $data[$field];
+                               }
                        } elseif ($field != "gsid") {
                                $newdata[$field] = "";
                        } else {
@@ -398,7 +402,7 @@ class Probe
                // When the previous detection process had got a time out
                // we could falsely detect a Friendica profile as AP profile.
                if (!self::$istimeout) {
-                       $ap_profile = ActivityPub::probeProfile($uri);
+                       $ap_profile = ActivityPub::probeProfile($uri, !$cache);
 
                        if (empty($data) || (!empty($ap_profile) && empty($network) && (($data['network'] ?? '') != Protocol::DFRN))) {
                                $data = $ap_profile;