Spaces:
No application file
No application file
namespace Mautic\CampaignBundle\Helper; | |
use Mautic\CampaignBundle\Event\CampaignLeadChangeEvent; | |
class CampaignEventHelper | |
{ | |
/** | |
* Determine if this campaign applies. | |
*/ | |
public static function validateLeadChangeTrigger(CampaignLeadChangeEvent $eventDetails = null, array $event): bool | |
{ | |
if (null == $eventDetails) { | |
return true; | |
} | |
$limitToCampaigns = $event['properties']['campaigns']; | |
$action = $event['properties']['action']; | |
// check against selected campaigns | |
if (!empty($limitToCampaigns) && !in_array($event['campaign']['id'], $limitToCampaigns)) { | |
return false; | |
} | |
// check against the selected action (was lead removed or added) | |
$func = 'was'.ucfirst($action); | |
if (!method_exists($eventDetails, $func) || !$eventDetails->$func()) { | |
return false; | |
} | |
return true; | |
} | |
} | |