![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/EmailBundle/Helper/ |
<?php namespace Mautic\EmailBundle\Helper; use Mautic\CoreBundle\Factory\MauticFactory; use Mautic\LeadBundle\Entity\Lead; class PointEventHelper { public static function validateEmail($eventDetails, $action): bool { if (null === $eventDetails) { return false; } $emailId = $eventDetails->getId(); if (isset($action['properties']['emails'])) { $limitToEmails = $action['properties']['emails']; } if (!empty($limitToEmails) && !in_array($emailId, $limitToEmails)) { // no points change return false; } return true; } public static function sendEmail($event, Lead $lead, MauticFactory $factory): bool { $properties = $event['properties']; $emailId = (int) $properties['email']; /** @var \Mautic\EmailBundle\Model\EmailModel $model */ $model = $factory->getModel('email'); $email = $model->getEntity($emailId); // make sure the email still exists and is published if (null != $email && $email->isPublished()) { $leadFields = $lead->getFields(); if (isset($leadFields['core']['email']['value']) && $leadFields['core']['email']['value']) { $leadCredentials = $lead->getProfileFields(); $leadCredentials['id'] = $lead->getId(); $options = ['source' => ['trigger', $event['id']]]; $emailSent = $model->sendEmail($email, $leadCredentials, $options); return is_array($emailSent) ? false : true; } } return false; } }