Files
CloudOps/docker-compose/mautic-setup/mautic-backup-files/docroot/app/bundles/LeadBundle/Model/SegmentActionModel.php

42 lines
1.0 KiB
PHP
Executable File

<?php
namespace Mautic\LeadBundle\Model;
class SegmentActionModel
{
public function __construct(
private LeadModel $contactModel,
) {
}
public function addContacts(array $contactIds, array $segmentIds): void
{
$contacts = $this->contactModel->getLeadsByIds($contactIds);
foreach ($contacts as $contact) {
if (!$this->contactModel->canEditContact($contact)) {
continue;
}
$this->contactModel->addToLists($contact, $segmentIds);
}
$this->contactModel->saveEntities($contacts);
}
public function removeContacts(array $contactIds, array $segmentIds): void
{
$contacts = $this->contactModel->getLeadsByIds($contactIds);
foreach ($contacts as $contact) {
if (!$this->contactModel->canEditContact($contact)) {
continue;
}
$this->contactModel->removeFromLists($contact, $segmentIds);
}
$this->contactModel->saveEntities($contacts);
}
}