Spaces:
No application file
No application file
| namespace Mautic\CampaignBundle\Helper; | |
| class RemovedContactTracker | |
| { | |
| private array $removedContacts = []; | |
| /** | |
| * @param int $campaignId | |
| * @param int $contactId | |
| */ | |
| public function addRemovedContact($campaignId, $contactId): void | |
| { | |
| if (!isset($this->removedContacts[$campaignId])) { | |
| $this->removedContacts[$campaignId] = []; | |
| } | |
| $this->removedContacts[$campaignId][$contactId] = $contactId; | |
| } | |
| /** | |
| * @param int $campaignId | |
| */ | |
| public function addRemovedContacts($campaignId, array $contactIds): void | |
| { | |
| foreach ($contactIds as $contactId) { | |
| $this->addRemovedContact($campaignId, $contactId); | |
| } | |
| } | |
| /** | |
| * @param int $campaignId | |
| */ | |
| public function clearRemovedContact($campaignId, $contactId): void | |
| { | |
| unset($this->removedContacts[$campaignId][$contactId]); | |
| } | |
| /** | |
| * @param int $campaignId | |
| */ | |
| public function wasContactRemoved($campaignId, $contactId): bool | |
| { | |
| return !empty($this->removedContacts[$campaignId][$contactId]); | |
| } | |
| /** | |
| * @return array | |
| */ | |
| public function getRemovedContacts() | |
| { | |
| return $this->removedContacts; | |
| } | |
| } | |