Spaces:
No application file
No application file
| namespace Mautic\EmailBundle\OptionsAccessor; | |
| use Mautic\CoreBundle\Form\DataTransformer\ArrayStringTransformer; | |
| use Mautic\UserBundle\Entity\User; | |
| class EmailToUserAccessor | |
| { | |
| private ArrayStringTransformer $transformer; | |
| public function __construct( | |
| private array $config | |
| ) { | |
| $this->transformer = new ArrayStringTransformer(); | |
| } | |
| public function getEmailID(): int | |
| { | |
| return (int) $this->config['useremail']['email']; | |
| } | |
| /** | |
| * @return bool | |
| */ | |
| public function shouldSentToOwner() | |
| { | |
| return empty($this->config['to_owner']) ? false : $this->config['to_owner']; | |
| } | |
| /** | |
| * Gets array of User ids formated for EmailModel. | |
| * | |
| * @param User|null $owner If Owner is passed in and config is setted for it, adds owner to returned array | |
| */ | |
| public function getUserIdsToSend(User $owner = null): array | |
| { | |
| $userIds = empty($this->config['user_id']) ? [] : $this->config['user_id']; | |
| $users = []; | |
| if ($userIds) { | |
| foreach ($userIds as $userId) { | |
| $users[] = ['id' => $userId]; | |
| } | |
| } | |
| if ($this->shouldSentToOwner() && $owner && !in_array($owner->getId(), $userIds)) { | |
| $users[] = ['id' => $owner->getId()]; | |
| } | |
| return $users; | |
| } | |
| /** | |
| * @return array | |
| */ | |
| public function getToFormatted() | |
| { | |
| $property = 'to'; | |
| return empty($this->config[$property]) ? [] : $this->transformer->reverseTransform($this->config[$property]); | |
| } | |
| /** | |
| * @return array | |
| */ | |
| public function getCcFormatted() | |
| { | |
| $property = 'cc'; | |
| return empty($this->config[$property]) ? [] : $this->transformer->reverseTransform($this->config[$property]); | |
| } | |
| /** | |
| * @return array | |
| */ | |
| public function getBccFormatted() | |
| { | |
| $property = 'bcc'; | |
| return empty($this->config[$property]) ? [] : $this->transformer->reverseTransform($this->config[$property]); | |
| } | |
| } | |