Archive and unarchive contacts

This commit is contained in:
Michael 2017-12-04 19:04:50 +00:00
parent 370cf6bd91
commit ca41e9154d
2 changed files with 6 additions and 1 deletions

View File

@ -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']) {

View File

@ -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);