Set contact to failed when url changed

This commit is contained in:
Michael 2021-08-29 20:25:21 +00:00
parent a53cff6ec2
commit 9135ff5124

View file

@ -1929,11 +1929,6 @@ class Contact
*/
private static function updateContact(int $id, int $uid, string $old_url, string $new_url, array $fields)
{
if (Strings::normaliseLink($new_url) != Strings::normaliseLink($old_url)) {
Logger::notice('New URL differs from old URL', ['old' => $old_url, 'new' => $new_url]);
return;
}
if (!DBA::update('contact', $fields, ['id' => $id])) {
Logger::info('Couldn\'t update contact.', ['id' => $id, 'fields' => $fields]);
return;
@ -2106,6 +2101,12 @@ class Contact
$updated = DateTimeFormat::utcNow();
if (Strings::normaliseLink($contact['url']) != Strings::normaliseLink($ret['url'])) {
Logger::notice('New URL differs from old URL', ['id' => $id, 'uid' => $contact['uid'], 'old' => $contact['url'], 'new' => $ret['url']]);
self::updateContact($id, $uid, $contact['url'], $ret['url'], ['failed' => true, 'last-update' => $updated, 'failure_update' => $updated]);
return false;
}
// We must not try to update relay contacts via probe. They are no real contacts.
// We check after the probing to be able to correct falsely detected contact types.
if (($contact['contact-type'] == self::TYPE_RELAY) &&