geno/wp-content/plugins/mailpoet/lib/Entities/SettingEntity.php
2024-02-01 11:54:18 +00:00

60 lines
1.3 KiB
PHP

<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing
namespace MailPoet\Entities;
if (!defined('ABSPATH')) exit;
use MailPoet\Doctrine\EntityTraits\AutoincrementedIdTrait;
use MailPoet\Doctrine\EntityTraits\CreatedAtTrait;
use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait;
use MailPoet\Util\Helpers;
use MailPoetVendor\Doctrine\ORM\Mapping as ORM;
use MailPoetVendor\Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity()
* @ORM\Table(name="settings")
*/
class SettingEntity {
use AutoincrementedIdTrait;
use CreatedAtTrait;
use UpdatedAtTrait;
/**
* @ORM\Column(type="string")
* @Assert\NotBlank()
* @var string
*/
private $name;
/**
* @ORM\Column(type="text", nullable=true)
* @var string|null
*/
private $value;
/** @return string */
public function getName() {
return $this->name;
}
/** @param string $name */
public function setName($name) {
$this->name = $name;
}
/** @return mixed */
public function getValue() {
return $this->value !== null && is_serialized($this->value) ? unserialize($this->value) : $this->value;
}
/** @param mixed $value */
public function setValue($value) {
$value = Helpers::recursiveTrim($value);
if (is_array($value)) {
$value = serialize($value);
}
$this->value = $value;
}
}