X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fdiaspora.php;h=f2d48486788bf68145cd3dcbb22b07395b4d91f5;hb=5ca93d054104b4af964263ec5b054806b5222bba;hp=10f1be93d24823b8849dcc0190adf69348e7a1e0;hpb=1aa9b7242d65191fcee2804489d6b0beb4ea550c;p=friendica.git diff --git a/include/diaspora.php b/include/diaspora.php index 10f1be93d2..f2d4848678 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -999,17 +999,21 @@ class diaspora { */ private function author_contact_by_url($contact, $person, $uid) { - $r = q("SELECT `id`, `network` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d LIMIT 1", + $r = q("SELECT `id`, `network`, `url` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d LIMIT 1", dbesc(normalise_link($person["url"])), intval($uid)); if ($r) { $cid = $r[0]["id"]; $network = $r[0]["network"]; + + // We are receiving content from a user that is about to be terminated + // This means the user is vital, so we remove a possible termination date. + unmark_for_death($contact); } else { $cid = $contact["id"]; $network = NETWORK_DIASPORA; } - return (array("cid" => $cid, "network" => $network)); + return array("cid" => $cid, "network" => $network); } /** @@ -2633,7 +2637,13 @@ class diaspora { } else { // queue message for redelivery add_to_queue($contact["id"], NETWORK_DIASPORA, $slap, $public_batch); + + // The message could not be delivered. We mark the contact as "dead" + mark_for_death($contact); } + } elseif (($return_code >= 200) AND ($return_code <= 299)) { + // We successfully delivered a message, the contact is alive + unmark_for_death($contact); } return(($return_code) ? $return_code : (-1));