![]() 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/CampaignBundle/Event/ |
<?php namespace Mautic\CampaignBundle\Event; use Mautic\CampaignBundle\Entity\LeadEventLog; use Mautic\LeadBundle\Entity\Lead; use Symfony\Contracts\EventDispatcher\Event; /** * @deprecated 2.13.0; to be removed in 3.0 */ class CampaignExecutionEvent extends Event { use EventArrayTrait; use ContextTrait; /** * @var Lead */ protected $lead; /** * @var array */ protected $event; /** * @var array */ protected $eventDetails; /** * @var bool */ protected $systemTriggered; /** * @var array */ protected $eventSettings; /** * @var bool */ protected $logUpdatedByListener = false; /** * @var string */ protected $channel; /** * @var int */ protected $channelId; /** * @param bool|mixed[]|string|null $result */ public function __construct( array $args, protected $result, protected ?LeadEventLog $log = null ) { $this->lead = $args['lead']; $this->event = $args['event']; $this->eventDetails = $args['eventDetails']; $this->systemTriggered = $args['systemTriggered']; $this->eventSettings = $args['eventSettings']; } /** * @return Lead */ public function getLead() { return $this->lead; } /** * Returns array with lead fields and owner ID if exist. * * @return array */ public function getLeadFields() { $lead = $this->getLead(); $isLeadEntity = $lead instanceof Lead; // In case Lead is a scalar value: if (!$isLeadEntity && !is_array($lead)) { $lead = []; } $leadFields = $isLeadEntity ? $lead->getProfileFields() : $lead; $leadFields['owner_id'] = $isLeadEntity && ($owner = $lead->getOwner()) ? $owner->getId() : 0; return $leadFields; } /** * @return array */ public function getEvent() { return ($this->event instanceof \Mautic\CampaignBundle\Entity\Event) ? $this->getEventArray($this->event) : $this->event; } /** * @return array */ public function getConfig() { return $this->getEvent()['properties']; } /** * @return array */ public function getEventDetails() { return $this->eventDetails; } /** * @return bool */ public function getSystemTriggered() { return $this->systemTriggered; } /** * @return bool|mixed[]|string|null */ public function getResult() { return $this->result; } /** * @param bool|mixed[]|string|null $result * * @return $this */ public function setResult($result) { $this->result = $result; return $this; } /** * Set the result to failed. * * @param string|null $reason * * @return $this */ public function setFailed($reason = null) { $this->result = [ 'failed' => 1, 'reason' => $reason, ]; return $this; } /** * @return mixed */ public function getEventSettings() { return $this->eventSettings; } /** * Set a custom log entry to override auto-handling of the log entry. * * @return $this */ public function setLogEntry(LeadEventLog $log) { $this->logUpdatedByListener = true; $this->log = $log; return $this; } /** * @return LeadEventLog */ public function getLogEntry() { return $this->log; } /** * Returns if a listener updated the log entry. * * @return bool */ public function wasLogUpdatedByListener() { return $this->logUpdatedByListener; } /** * @param string $channel * @param string|int|null $channelId */ public function setChannel($channel, $channelId = null): void { if (null !== $this->log) { // Set the channel since we have the resource $this->log->setChannel($channel); $this->log->setChannelId($channelId); } $this->channel = $channel; $this->channelId = $channelId; } /** * @return mixed */ public function getChannel() { return $this->channel; } /** * @return mixed */ public function getChannelId() { return $this->channelId; } }