From: Michael <heluecht@pirati.ca>
Date: Sun, 29 Aug 2021 20:25:21 +0000 (+0000)
Subject: Set contact to failed when url changed
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=9135ff5124376ae1de0db5b0188896e31528575b;p=friendica.git

Set contact to failed when url changed
---

diff --git a/src/Model/Contact.php b/src/Model/Contact.php
index 53f696444d..b59e7c2b50 100644
--- a/src/Model/Contact.php
+++ b/src/Model/Contact.php
@@ -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) &&