Proyectos de Subversion LeadersLinked - Backend

Rev

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

<?php

declare(strict_types=1);

namespace LeadersLinked\Library;

use Laminas\Db\Adapter\AdapterInterface;

use LeadersLinked\Model\EmailTemplate;
use LeadersLinked\Model\Email;
use LeadersLinked\Mapper\EmailMapper;

class QueueEmail 
{
    
    /**
     * 
     * @var AdapterInterface
     */
    private $adapter;
    
    
    /**
     * 
     * @param AdapterInterface $adapter
     */
    public function __construct($adapter)
    {
        $this->adapter = $adapter;
    }
    
    /**
     *
     * @param EmailTemplate $emailTemplate
     * @param array $arrayCont
     * @param string $to_address
     * @param string $to_name
     * @return boolean
     */
    public function processEmailTemplate($emailTemplate, $arrayCont, $to_address, $to_name)
    {
        
        $subject = trim(stripslashes($emailTemplate->subject));
        $message = trim(stripslashes($emailTemplate->content));

        
        
        foreach($arrayCont as $key => $val)
        {
            $message = str_replace('[' . $key .']', $val, $message);
            $subject = str_replace('[' . $key .']', $val, $subject);
        }
        
        $email = new Email();
        $email->content = json_encode([
            'to_address' => $to_address,
            'to_name' => $to_name,
            'cc' => [],
            'bcc' => [],
            'subject' => $subject,
            'message' => $message,
        ]); 
        $email->status = Email::STATUS_PENDING;
        $email->tried = 0;
        
        $emailMapper = EmailMapper::getInstance($this->adapter);
        return $emailMapper->insert($email);
        

    }
    

}