Spaces:
No application file
No application file
File size: 2,041 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 81 82 83 84 |
<?php
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]);
}
}
|