Add removing tags when subscriber is deleted
[MAILPOET-4558]
This commit is contained in:
@ -7,6 +7,7 @@ use MailPoet\Entities\SegmentEntity;
|
|||||||
use MailPoet\Entities\SubscriberCustomFieldEntity;
|
use MailPoet\Entities\SubscriberCustomFieldEntity;
|
||||||
use MailPoet\Entities\SubscriberEntity;
|
use MailPoet\Entities\SubscriberEntity;
|
||||||
use MailPoet\Entities\SubscriberSegmentEntity;
|
use MailPoet\Entities\SubscriberSegmentEntity;
|
||||||
|
use MailPoet\Entities\SubscriberTagEntity;
|
||||||
use MailPoet\Util\License\Features\Subscribers;
|
use MailPoet\Util\License\Features\Subscribers;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
use MailPoetVendor\Carbon\Carbon;
|
use MailPoetVendor\Carbon\Carbon;
|
||||||
@ -166,6 +167,16 @@ class SubscribersRepository extends Repository {
|
|||||||
AND s.`wp_user_id` IS NULL
|
AND s.`wp_user_id` IS NULL
|
||||||
", ['ids' => $ids], ['ids' => Connection::PARAM_INT_ARRAY]);
|
", ['ids' => $ids], ['ids' => Connection::PARAM_INT_ARRAY]);
|
||||||
|
|
||||||
|
// Delete subscriber tags
|
||||||
|
$subscriberTagTable = $entityManager->getClassMetadata(SubscriberTagEntity::class)->getTableName();
|
||||||
|
$entityManager->getConnection()->executeStatement("
|
||||||
|
DELETE st FROM $subscriberTagTable st
|
||||||
|
JOIN $subscriberTable s ON s.`id` = st.`subscriber_id`
|
||||||
|
WHERE st.`subscriber_id` IN (:ids)
|
||||||
|
AND s.`is_woocommerce_user` = false
|
||||||
|
AND s.`wp_user_id` IS NULL
|
||||||
|
", ['ids' => $ids], ['ids' => Connection::PARAM_INT_ARRAY]);
|
||||||
|
|
||||||
$queryBuilder = $entityManager->createQueryBuilder();
|
$queryBuilder = $entityManager->createQueryBuilder();
|
||||||
$count = $queryBuilder->delete(SubscriberEntity::class, 's')
|
$count = $queryBuilder->delete(SubscriberEntity::class, 's')
|
||||||
->where('s.id IN (:ids)')
|
->where('s.id IN (:ids)')
|
||||||
|
Reference in New Issue
Block a user