Spaces:
No application file
No application file
File size: 1,990 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
<?php
namespace Mautic\CoreBundle\Entity;
use Mautic\CoreBundle\Doctrine\Mapping\ClassMetadataBuilder;
trait DynamicContentEntityTrait
{
/**
* Keep the default content set outside of $dynamicContent so that it can be used if $dynamicContent is emptied.
*
* @var array
*/
public static $defaultDynamicContent = [
[
'tokenName' => 'Dynamic Content 1',
'content' => 'Default Dynamic Content',
'filters' => [
[
'content' => null,
'filters' => [
[
'glue' => null,
'field' => null,
'object' => null,
'type' => null,
'operator' => null,
'display' => null,
'filter' => null,
],
],
],
],
],
];
/**
* @var array
*/
private $dynamicContent = [];
protected static function addDynamicContentMetadata(ClassMetadataBuilder $builder)
{
$builder->createField('dynamicContent', 'array')
->columnName('dynamic_content')
->nullable()
->build();
}
/**
* @return array
*/
public function getDynamicContent()
{
return (empty($this->dynamicContent)) ? $this->getDefaultDynamicContent() : $this->dynamicContent;
}
/**
* @return $this
*/
public function setDynamicContent($dynamicContent)
{
if (empty($dynamicContent)) {
$dynamicContent = $this->getDefaultDynamicContent();
}
$this->dynamicContent = $dynamicContent;
return $this;
}
/**
* @return array
*/
public function getDefaultDynamicContent()
{
return self::$defaultDynamicContent;
}
}
|