Add updating last engagement within clicks tracking

[MAILPOET-3762]
This commit is contained in:
Rostislav Wolny
2021-08-31 12:55:37 +02:00
committed by Veljko V
parent ed8de3eb17
commit 9c3fc95a6d
4 changed files with 111 additions and 14 deletions

View File

@@ -7,6 +7,7 @@ use MailPoet\Entities\SegmentEntity;
use MailPoet\Entities\SubscriberCustomFieldEntity;
use MailPoet\Entities\SubscriberEntity;
use MailPoet\Entities\SubscriberSegmentEntity;
use MailPoet\Entities\UserAgentEntity;
use MailPoet\WP\Functions as WPFunctions;
use MailPoetVendor\Carbon\Carbon;
use MailPoetVendor\Doctrine\DBAL\Connection;
@@ -306,4 +307,13 @@ class SubscribersRepository extends Repository {
->setMaxResults($limit)
->getResult();
}
public function maybeUpdateLastEngagement(SubscriberEntity $subscriberEntity, ?UserAgentEntity $userAgent): void {
if ($userAgent instanceof UserAgentEntity && $userAgent->getUserAgentType() === UserAgentEntity::USER_AGENT_TYPE_MACHINE) {
return;
}
// Update last engagement for human (and also unknown) user agent
$subscriberEntity->setLastEngagementAt(Carbon::now());
$this->flush();
}
}