diff --git a/mod/salmon.php b/mod/salmon.php index ea5c334c0..bc4410434 100644 --- a/mod/salmon.php +++ b/mod/salmon.php @@ -79,7 +79,7 @@ function salmon_post(App $a, $xml = '') { // stash away some other stuff for later $type = $base->data[0]->attributes()->type[0]; - $keyhash = $base->sig[0]->attributes()->keyhash[0]; + $keyhash = $base->sig[0]->attributes()->keyhash[0] ?? ''; $encoding = $base->encoding; $alg = $base->alg; diff --git a/src/Content/Nav.php b/src/Content/Nav.php index 4a9c71ce9..335f81bf3 100644 --- a/src/Content/Nav.php +++ b/src/Content/Nav.php @@ -187,7 +187,7 @@ class Nav 'name' => $a->user['username'], ]; } else { - DI::logger()->warning('Empty $a->user for local user'. ['local_user' => local_user(), '$a' => $a]); + DI::logger()->warning('Empty $a->user for local user', ['local_user' => local_user(), '$a' => $a]); } } @@ -256,7 +256,7 @@ class Nav } // The following nav links are only show to logged in users - if (local_user()) { + if (local_user() && !empty($a->user)) { $nav['network'] = ['network', DI::l10n()->t('Network'), '', DI::l10n()->t('Conversations from your friends')]; $nav['home'] = ['profile/' . $a->user['nickname'], DI::l10n()->t('Home'), '', DI::l10n()->t('Your posts and conversations')]; diff --git a/src/Model/Contact.php b/src/Model/Contact.php index b11919b52..46104aaea 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -1077,7 +1077,6 @@ class Contact } if (DBA::isResult($r)) { - $authoritativeResult = true; // If there is more than one entry we filter out the connector networks if (count($r) > 1) { foreach ($r as $id => $result) { @@ -1088,7 +1087,10 @@ class Contact } $profile = array_shift($r); + } + if (!empty($profile)) { + $authoritativeResult = true; // "bd" always contains the upcoming birthday of a contact. // "birthday" might contain the birthday including the year of birth. if ($profile["birthday"] > DBA::NULL_DATE) { diff --git a/src/Module/Diaspora/Fetch.php b/src/Module/Diaspora/Fetch.php index aba9d33be..c94badf7e 100644 --- a/src/Module/Diaspora/Fetch.php +++ b/src/Module/Diaspora/Fetch.php @@ -59,7 +59,7 @@ class Fetch extends BaseModule if (empty($item)) { $condition = ['guid' => $guid, 'network' => [Protocol::DFRN, Protocol::DIASPORA]]; $item = Item::selectFirst(['author-link'], $condition); - if (empty($item)) { + if (!empty($item["author-link"])) { $parts = parse_url($item["author-link"]); if (empty($parts["scheme"]) || empty($parts["host"])) { throw new HTTPException\InternalServerErrorException(); diff --git a/src/Module/Search/Acl.php b/src/Module/Search/Acl.php index 82880f83c..cc8df3eab 100644 --- a/src/Module/Search/Acl.php +++ b/src/Module/Search/Acl.php @@ -79,6 +79,11 @@ class Acl extends BaseModule $contacts = []; foreach ($r as $g) { + if (empty($g['name'])) { + DI::logger()->warning('Wrong result item from Search::searchGlobalContact', ['$g' => $g, '$search' => $search, '$mode' => $mode, '$page' => $page]); + continue; + } + $contacts[] = [ 'photo' => ProxyUtils::proxifyUrl($g['photo'], false, ProxyUtils::SIZE_MICRO), 'name' => htmlspecialchars($g['name']),