Spaces:
No application file
No application file
namespace Mautic\CoreBundle\Event; | |
use Mautic\CoreBundle\Entity\CommonEntity; | |
use Mautic\DynamicContentBundle\Entity\Stat; | |
use Mautic\LeadBundle\Entity\Lead; | |
class TokenReplacementEvent extends CommonEvent | |
{ | |
/** | |
* @var CommonEntity|string | |
*/ | |
protected $entity; | |
/** | |
* @var CommonEntity|string|null | |
*/ | |
protected $content; | |
/** | |
* @var array | |
*/ | |
protected $tokens = []; | |
private ?Stat $stat = null; | |
/** | |
* @param CommonEntity|string|null $content | |
* @param Lead|mixed[]|null $lead | |
* @param mixed $passthrough | |
*/ | |
public function __construct( | |
$content, | |
protected $lead = null, | |
protected array $clickthrough = [], | |
protected $passthrough = null, | |
private bool $internalSend = false | |
) { | |
if ($content instanceof CommonEntity) { | |
$this->entity = $content; | |
} | |
$this->content = $content; | |
} | |
/** | |
* @return CommonEntity|string|null | |
*/ | |
public function getContent() | |
{ | |
return $this->content; | |
} | |
/** | |
* @param CommonEntity|string|null $content | |
*/ | |
public function setContent($content): void | |
{ | |
$this->content = $content; | |
} | |
/** | |
* @return Lead|mixed[]|null | |
*/ | |
public function getLead() | |
{ | |
return $this->lead; | |
} | |
/** | |
* @return mixed[] | |
*/ | |
public function getClickthrough() | |
{ | |
if (!in_array('lead', $this->clickthrough)) { | |
if (is_array($this->lead) && !empty($this->lead['id'])) { | |
$this->clickthrough['lead'] = $this->lead['id']; | |
} elseif ($this->lead instanceof Lead && $this->lead->getId()) { | |
$this->clickthrough['lead'] = $this->lead->getId(); | |
} | |
} | |
return $this->clickthrough; | |
} | |
/** | |
* @param mixed[] $clickthrough | |
*/ | |
public function setClickthrough($clickthrough): void | |
{ | |
$this->clickthrough = $clickthrough; | |
} | |
/** | |
* @return CommonEntity|string | |
*/ | |
public function getEntity() | |
{ | |
return $this->entity; | |
} | |
public function addToken($token, $value): void | |
{ | |
$this->tokens[$token] = $value; | |
} | |
/** | |
* @return array | |
*/ | |
public function getTokens() | |
{ | |
return $this->tokens; | |
} | |
/** | |
* @return mixed|null | |
*/ | |
public function getPassthrough() | |
{ | |
return $this->passthrough; | |
} | |
public function getStat(): ?Stat | |
{ | |
return $this->stat; | |
} | |
public function setStat(?Stat $stat): void | |
{ | |
$this->stat = $stat; | |
} | |
public function isInternalSend(): bool | |
{ | |
return $this->internalSend; | |
} | |
} | |