Select Git revision
phpunit-unit.xml
-
Piotr Potrebka authoredPiotr Potrebka authored
EmailSender.php 4.18 KiB
<?php
namespace WPDesk\Library\WPEmail;
use WPDesk\Library\WPEmail\Abstracts\EmailInterface;
use WPDesk\Library\WPEmail\Parser\HTMLDecorator;
use WPDesk\View\Renderer\Renderer;
use WPDesk\View\Renderer\SimplePhpRenderer;
use WPDesk\View\Resolver\ChainResolver;
use WPDesk\View\Resolver\DirResolver;
use WPDesk\View\Resolver\WPThemeResolver;
class EmailSender {
/**
* @var EmailInterface[]
*/
private $emails = [];
/**
* @var string
*/
private $from = 'wordpress@wordpress.org';
/**
* @var string
*/
private $from_name = 'WordPress';
/**
* @var Renderer
*/
private $renderer;
/**
* @param $from
* @param $from_name
*/
public function __construct() {
$this->init_renderer();
}
public function init_renderer() {
$resolver = new ChainResolver();
$resolver->appendResolver( new DirResolver( __DIR__ ) );
$this->renderer = new SimplePhpRenderer( $resolver );
}
public function set_renderer( Renderer $renderer ) {
$this->renderer = $renderer;
}
public function add_email( EmailInterface $email ) {
$this->emails[ $email->get_id() ] = $email;
}
public function get_emails(): array {
return $this->emails;
}
public function set_from( string $from ) {
$this->from = $from;
}
/**
* WordPress callback for setting the from email
*
* @param string $email