Add SettingEntity and SettingsRepository
[MAILPOET-2436]
This commit is contained in:
committed by
Jack Kitterhing
parent
388ced8b53
commit
0d04df570c
@ -192,6 +192,7 @@ class ContainerConfigurator implements IContainerConfigurator {
|
|||||||
$container->autowire(\MailPoet\Tasks\State::class);
|
$container->autowire(\MailPoet\Tasks\State::class);
|
||||||
// Settings
|
// Settings
|
||||||
$container->autowire(\MailPoet\Settings\SettingsController::class)->setPublic(true);
|
$container->autowire(\MailPoet\Settings\SettingsController::class)->setPublic(true);
|
||||||
|
$container->autowire(\MailPoet\Settings\SettingsRepository::class)->setPublic(true);
|
||||||
// User Flags
|
// User Flags
|
||||||
$container->autowire(\MailPoet\Settings\UserFlagsController::class);
|
$container->autowire(\MailPoet\Settings\UserFlagsController::class);
|
||||||
$container->autowire(\MailPoet\Settings\UserFlagsRepository::class)->setPublic(true);
|
$container->autowire(\MailPoet\Settings\UserFlagsRepository::class)->setPublic(true);
|
||||||
|
57
lib/Entities/SettingEntity.php
Normal file
57
lib/Entities/SettingEntity.php
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace MailPoet\Entities;
|
||||||
|
|
||||||
|
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")
|
||||||
|
* @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 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;
|
||||||
|
}
|
||||||
|
}
|
20
lib/Settings/SettingsRepository.php
Normal file
20
lib/Settings/SettingsRepository.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace MailPoet\Settings;
|
||||||
|
|
||||||
|
use MailPoet\Doctrine\Repository;
|
||||||
|
use MailPoet\Entities\SettingEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @method SettingEntity[] findBy(array $criteria, array $order_by = null, int $limit = null, int $offset = null)
|
||||||
|
* @method SettingEntity|null findOneBy(array $criteria, array $order_by = null)
|
||||||
|
* @method SettingEntity|null findOneById(mixed $id)
|
||||||
|
* @method SettingEntity[] findAll()
|
||||||
|
* @method void persist(SettingEntity $entity)
|
||||||
|
* @method void remove(SettingEntity $entity)
|
||||||
|
*/
|
||||||
|
class SettingsRepository extends Repository {
|
||||||
|
protected function getEntityClassName() {
|
||||||
|
return SettingEntity::class;
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user