Merge pull request #10704 from nupplaphil/bug/notices

Fix various Notices
This commit is contained in:
Michael Vogel 2021-09-18 13:08:37 +02:00 committed by GitHub
commit 9e3cfc3d8c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 25 additions and 13 deletions

View file

@ -1461,8 +1461,12 @@ class Database
$row = $this->fetchFirst($sql, $condition);
// Ensure to always return either a "null" or a numeric value
return is_numeric($row['count']) ? (int)$row['count'] : $row['count'];
if (!isset($row['count'])) {
$this->logger->notice('Invalid count.', ['table' => $table, 'row' => $row, 'expression' => $expression, 'condition' => $condition_string, 'callstack' => System::callstack()]);
return 0;
} else {
return (int)$row['count'];
}
}
/**

View file

@ -2757,12 +2757,14 @@ class Contact
return null;
}
public static function removeFollower($importer, $contact)
public static function removeFollower(array $contact)
{
if (($contact['rel'] == self::FRIEND) || ($contact['rel'] == self::SHARING)) {
if (in_array($contact['rel'] ?? [], [self::FRIEND, self::SHARING])) {
DBA::update('contact', ['rel' => self::SHARING], ['id' => $contact['id']]);
} else {
} elseif (!empty($contact['id'])) {
self::remove($contact['id']);
} else {
DI::logger()->info('Couldn\'t remove follower because of invalid contact array', ['contact' => $contact, 'callstack' => System::callstack()]);
}
}

View file

@ -290,13 +290,19 @@ class Contact extends BaseModule
$contact_id = $data['user'];
}
$contact = DBA::selectFirst('contact', [], ['id' => $contact_id, 'uid' => [0, local_user()], 'deleted' => false]);
if (!empty($data)) {
$contact = DBA::selectFirst('contact', [], [
'id' => $contact_id,
'uid' => [0, local_user()],
'deleted' => false
]);
// Don't display contacts that are about to be deleted
if ($contact['network'] == Protocol::PHANTOM) {
if (DBA::isResult($contact) && !empty($contact['network']) && $contact['network'] == Protocol::PHANTOM) {
$contact = false;
}
}
}
if (DBA::isResult($contact)) {
if ($contact['self']) {

View file

@ -1102,7 +1102,7 @@ class Processor
return;
}
Contact::removeFollower($owner, $contact);
Contact::removeFollower($contact);
Logger::info('Undo following request', ['contact' => $cid, 'user' => $uid]);
}

View file

@ -1584,7 +1584,7 @@ class DFRN
}
if ($activity->match($item["verb"], Activity::UNFOLLOW)) {
Logger::log("Lost follower");
Contact::removeFollower($importer, $contact, $item);
Contact::removeFollower($contact);
return false;
}
if ($activity->match($item["verb"], Activity::REQ_FRIEND)) {

View file

@ -2211,7 +2211,7 @@ class Diaspora
return true;
} else {
Logger::log("Author ".$author." doesn't want to follow us anymore.", Logger::DEBUG);
Contact::removeFollower($importer, $contact);
Contact::removeFollower($contact);
return true;
}
}

View file

@ -471,7 +471,7 @@ class OStatus
if ($item["verb"] == Activity::O_UNFOLLOW) {
$dummy = null;
Contact::removeFollower($importer, $contact, $item, $dummy);
Contact::removeFollower($contact);
continue;
}