Don't transmit content to already archived contacts

This commit is contained in:
Michael Vogel 2019-08-27 21:01:11 +02:00
parent b2162f34e9
commit 9b7432781b
5 changed files with 64 additions and 7 deletions

View file

@ -33,7 +33,7 @@ class Delivery extends BaseObject
public static function execute($cmd, $target_id, $contact_id)
{
Logger::log('Invoked: ' . $cmd . ': ' . $target_id . ' to ' . $contact_id, Logger::DEBUG);
Logger::info('Invoked', ['cmd' => $cmd, 'target' => $target_id, 'contact' => $contact_id]);
$top_level = false;
$followup = false;
@ -96,6 +96,14 @@ class Delivery extends BaseObject
return;
}
if (!empty($contact_id) && Model\Contact::isArchived($contact_id)) {
Logger::info('Contact is archived', ['id' => $contact_id, 'cmd' => $cmd, 'item' => $target_item['id']]);
if (in_array($cmd, [Delivery::POST, Delivery::POKE])) {
Model\ItemDeliveryData::incrementQueueFailed($target_item['id']);
}
return;
}
// avoid race condition with deleting entries
if ($items[0]['deleted']) {
foreach ($items as $item) {