Issue 8735: Ensure the correct data type for "hide"

This commit is contained in:
Michael 2020-06-06 08:11:19 +00:00
parent 3eb3fe8e98
commit bc4e5b4d69
2 changed files with 7 additions and 7 deletions

View 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'],

View file

@ -92,7 +92,11 @@ class Probe
$newdata = [];
foreach ($fields as $field) {
if (isset($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;