From: Michael Date: Mon, 4 Dec 2017 19:04:50 +0000 (+0000) Subject: Archive and unarchive contacts X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=ca41e9154d147317ab315cdac8592fb1a1ffae66;p=friendica.git Archive and unarchive contacts --- diff --git a/include/items.php b/include/items.php index 98149dea59..73a5ad9cc2 100644 --- a/include/items.php +++ b/include/items.php @@ -1165,6 +1165,10 @@ function item_set_last_item($arr) { if ($update) { dba::update('contact', array('success_update' => $arr['received'], 'last-item' => $arr['received']), array('id' => $arr['contact-id'])); + $contact = dba::select('contact', [], ['id' => $arr['contact-id']], ['limit' => 1]); + if ($contact['term-date'] > NULL_DATE) { + Contact::unmarkForArchival($contact); + } } // Now do the same for the system wide contacts with uid=0 if (!$arr['private']) { diff --git a/src/Object/Contact.php b/src/Object/Contact.php index 34519401cb..56204395ca 100644 --- a/src/Object/Contact.php +++ b/src/Object/Contact.php @@ -99,7 +99,7 @@ class Contact extends BaseObject if ($contact['archive']) { return; } - +logger('Blubb-m: '.$contact['id'].' - '.System::callstack()); if ($contact['term-date'] <= NULL_DATE) { dba::update('contact', array('term-date' => datetime_convert()), array('id' => $contact['id'])); @@ -139,6 +139,7 @@ class Contact extends BaseObject */ public static function unmarkForArchival(array $contact) { +//logger('Blubb-m: '.$contact['id'].' - '.System::callstack()); $condition = array('`id` = ? AND (`term-date` > ? OR `archive`)', $contact[`id`], NULL_DATE); $exists = dba::exists('contact', $condition);