Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 1 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 www 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace LeadersLinked\Library;
6
 
7
use Laminas\Db\Adapter\AdapterInterface;
8
 
9
use LeadersLinked\Model\EmailTemplate;
10
use LeadersLinked\Model\Email;
11
use LeadersLinked\Mapper\EmailMapper;
12
 
13
class QueueEmail
14
{
15
 
16
    /**
17
     *
18
     * @var AdapterInterface
19
     */
20
    private $adapter;
21
 
22
 
23
    /**
24
     *
25
     * @param AdapterInterface $adapter
26
     */
27
    public function __construct($adapter)
28
    {
29
        $this->adapter = $adapter;
30
    }
31
 
32
    /**
33
     *
34
     * @param EmailTemplate $emailTemplate
35
     * @param array $arrayCont
36
     * @param string $to_address
37
     * @param string $to_name
38
     * @return boolean
39
     */
16789 efrain 40
    public function processEmailTemplate($emailTemplate, $arrayCont, $to_address, $to_name)
1 www 41
    {
42
 
43
        $subject = trim(stripslashes($emailTemplate->subject));
44
        $message = trim(stripslashes($emailTemplate->content));
45
 
46
 
47
 
48
        foreach($arrayCont as $key => $val)
49
        {
50
            $message = str_replace('[' . $key .']', $val, $message);
51
            $subject = str_replace('[' . $key .']', $val, $subject);
52
        }
53
 
54
        $email = new Email();
55
        $email->content = json_encode([
56
            'to_address' => $to_address,
57
            'to_name' => $to_name,
58
            'cc' => [],
59
            'bcc' => [],
60
            'subject' => $subject,
61
            'message' => $message,
62
        ]);
63
        $email->status = Email::STATUS_PENDING;
64
        $email->tried = 0;
65
 
66
        $emailMapper = EmailMapper::getInstance($this->adapter);
67
        return $emailMapper->insert($email);
68
 
69
 
70
    }
71
 
72
 
73
}