![]() 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/plugins/MauticFocusBundle/Entity/ |
<?php namespace MauticPlugin\MauticFocusBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Mautic\ApiBundle\Serializer\Driver\ApiMetadataDriver; use Mautic\CoreBundle\Doctrine\Mapping\ClassMetadataBuilder; use Mautic\CoreBundle\Entity\FormEntity; use Mautic\FormBundle\Entity\Form; use Symfony\Component\Validator\Constraints\NotBlank; use Symfony\Component\Validator\Mapping\ClassMetadata; class Focus extends FormEntity { /** * @var int */ private $id; /** * @var string|null */ private $description; /** * @var string|null */ private $editor; /** * @var string|null */ private $html; /** * @var string|null */ private $htmlMode; /** * @var string */ private $name; private $category; /** * @var string */ private $type; /** * @var string|null */ private $website; /** * @var string */ private $style; /** * @var \DateTimeInterface */ private $publishUp; /** * @var \DateTimeInterface */ private $publishDown; private $properties = []; /** * @var array */ private $utmTags = []; /** * @var int|null */ private $form; /** * @var string|null */ private $cache; public static function loadValidatorMetadata(ClassMetadata $metadata): void { $metadata->addPropertyConstraint( 'name', new NotBlank( [ 'message' => 'mautic.core.name.required', ] ) ); $metadata->addPropertyConstraint( 'type', new NotBlank( ['message' => 'mautic.focus.error.select_type'] ) ); $metadata->addPropertyConstraint( 'style', new NotBlank( ['message' => 'mautic.focus.error.select_style'] ) ); } public function __clone() { $this->id = null; parent::__clone(); } public static function loadMetadata(ORM\ClassMetadata $metadata): void { $builder = new ClassMetadataBuilder($metadata); $builder->setTable('focus') ->setCustomRepositoryClass(FocusRepository::class) ->addIndex(['focus_type'], 'focus_type') ->addIndex(['style'], 'focus_style') ->addIndex(['form_id'], 'focus_form') ->addIndex(['name'], 'focus_name'); $builder->addIdColumns(); $builder->addCategory(); $builder->addNamedField('type', 'string', 'focus_type'); $builder->addField('style', 'string'); $builder->addNullableField('website', 'string'); $builder->addPublishDates(); $builder->addNullableField('properties', 'array'); $builder->createField('utmTags', 'array') ->columnName('utm_tags') ->nullable() ->build(); $builder->addNamedField('form', 'integer', 'form_id', true); $builder->addNullableField('cache', 'text'); $builder->createField('htmlMode', 'string') ->columnName('html_mode') ->nullable() ->build(); $builder->addNullableField('editor', 'text'); $builder->addNullableField('html', 'text'); } /** * Prepares the metadata for API usage. */ public static function loadApiMetadata(ApiMetadataDriver $metadata): void { $metadata ->addListProperties( [ 'id', 'name', 'category', ] ) ->addProperties( [ 'description', 'type', 'website', 'style', 'publishUp', 'publishDown', 'properties', 'utmTags', 'form', 'htmlMode', 'html', 'editor', 'cache', ] ) ->build(); } public function toArray(): array { return get_object_vars($this); } /** * @return mixed */ public function getId() { return $this->id; } /** * @return mixed */ public function getDescription() { return $this->description; } /** * @param mixed $description * * @return Focus */ public function setDescription($description) { $this->isChanged('description', $description); $this->description = $description; return $this; } /** * @return mixed */ public function getEditor() { return $this->editor; } /** * @return Focus */ public function setEditor($editor) { $this->isChanged('editor', $editor); $this->editor = $editor; return $this; } /** * @return mixed */ public function getHtml() { return $this->html; } /** * @return Focus */ public function setHtml($html) { $this->isChanged('html', $html); $this->html = $html; return $this; } /** * @return mixed */ public function getHtmlMode() { return $this->htmlMode; } /** * @return Focus */ public function setHtmlMode($htmlMode) { $this->isChanged('htmlMode', $htmlMode); $this->htmlMode = $htmlMode; return $this; } /** * @return mixed */ public function getName() { return $this->name; } /** * @param mixed $name * * @return Focus */ public function setName($name) { $this->isChanged('name', $name); $this->name = $name; return $this; } /** * @return mixed */ public function getCategory() { return $this->category; } /** * @param mixed $category * * @return Focus */ public function setCategory($category) { $this->isChanged('category', $category); $this->category = $category; return $this; } /** * @return mixed */ public function getPublishUp() { return $this->publishUp; } /** * @param mixed $publishUp * * @return Focus */ public function setPublishUp($publishUp) { $this->isChanged('publishUp', $publishUp); $this->publishUp = $publishUp; return $this; } /** * @return mixed */ public function getPublishDown() { return $this->publishDown; } /** * @param mixed $publishDown * * @return Focus */ public function setPublishDown($publishDown) { $this->isChanged('publishDown', $publishDown); $this->publishDown = $publishDown; return $this; } /** * @return mixed */ public function getProperties() { return $this->properties; } /** * @param mixed $properties * * @return Focus */ public function setProperties($properties) { $this->isChanged('properties', $properties); $this->properties = $properties; return $this; } /** * @return array */ public function getUtmTags() { return $this->utmTags; } /** * @param array $utmTags */ public function setUtmTags($utmTags) { $this->isChanged('utmTags', $utmTags); $this->utmTags = $utmTags; return $this; } /** * @return mixed */ public function getType() { return $this->type; } /** * @param mixed $type * * @return Focus */ public function setType($type) { $this->isChanged('type', $type); $this->type = $type; return $this; } /** * @return mixed */ public function getStyle() { return $this->style; } /** * @param mixed $style * * @return Focus */ public function setStyle($style) { $this->isChanged('style', $style); $this->style = $style; return $this; } /** * @return mixed */ public function getWebsite() { return $this->website; } /** * @param mixed $website * * @return Focus */ public function setWebsite($website) { $this->isChanged('website', $website); $this->website = $website; return $this; } /** * @return mixed */ public function getForm() { return $this->form; } /** * @param mixed $form * * @return Focus */ public function setForm($form) { if ($form instanceof Form) { $form = $form->getId(); } $this->isChanged('form', $form); $this->form = $form; return $this; } /** * @return mixed */ public function getCache() { return $this->cache; } /** * @param mixed $cache * * @return Focus */ public function setCache($cache) { $this->cache = $cache; return $this; } }