diff --git a/src/Abstracts/EmailAbstract.php b/src/Abstracts/EmailGettersAbstract.php similarity index 82% rename from src/Abstracts/EmailAbstract.php rename to src/Abstracts/EmailGettersAbstract.php index 5aba38c803aee18da6a6a7df37bbbf178e5f4e80..a51023455d273efdfeace4a03112ac63659c7962 100644 --- a/src/Abstracts/EmailAbstract.php +++ b/src/Abstracts/EmailGettersAbstract.php @@ -4,13 +4,22 @@ namespace WPDesk\Library\WPEmail\Abstracts; use WPDesk\View\Renderer\Renderer; -abstract class EmailAbstract implements EmailInterface { +abstract class EmailGettersAbstract implements EmailGettersInterface, EmailSettersInterface { /** * @var Renderer */ private $renderer; + /** + * @var string + */ + private $subject; + /** + * @var string + */ + private $heading; + public function __construct( Renderer $renderer, array $recipients ) { $this->renderer = $renderer; $this->recipients = $recipients; @@ -45,6 +54,13 @@ abstract class EmailAbstract implements EmailInterface { return ''; } + + public function set_subject( string $subject ): self { + $this->subject = $subject; + + return $this; + } + /** * Get email heading. * @@ -54,6 +70,13 @@ abstract class EmailAbstract implements EmailInterface { return ''; } + + public function set_heading( string $heading ): self { + $this->heading = $heading; + + return $this; + } + /** * Get valid recipients. * diff --git a/src/Abstracts/EmailInterface.php b/src/Abstracts/EmailGettersInterface.php similarity index 97% rename from src/Abstracts/EmailInterface.php rename to src/Abstracts/EmailGettersInterface.php index 8439a4472b69b22af289730473a349ea92c62e52..f55967b380c951e56ae9693c314d019915753d77 100644 --- a/src/Abstracts/EmailInterface.php +++ b/src/Abstracts/EmailGettersInterface.php @@ -2,7 +2,7 @@ namespace WPDesk\Library\WPEmail\Abstracts; -interface EmailInterface { +interface EmailGettersInterface { /** * Define unique email ID. diff --git a/src/EmailSender.php b/src/EmailSender.php index f249ad9c4e4f2d88214480633992db1186942492..2f5ea7615e310ce745548534afa2f2381aea5a7c 100644 --- a/src/EmailSender.php +++ b/src/EmailSender.php @@ -2,12 +2,12 @@ namespace WPDesk\Library\WPEmail\Emails; -use WPDesk\Library\WPEmail\Abstracts\EmailInterface; +use WPDesk\Library\WPEmail\Abstracts\EmailGettersInterface; class EmailSender { /** - * @var EmailInterface[] + * @var EmailGettersInterface[] */ private $emails = []; @@ -30,7 +30,7 @@ class EmailSender { $this->from_name = $from_name; } - public function add_email( EmailInterface $email ) { + public function add_email( Email $email ) { $this->emails[ $email->get_id() ] = $email; } diff --git a/src/Emails/Email.php b/src/Emails/Email.php index e5b499128cb50c323db83f3d943df6edfc417d51..1decb4d7cc619db3c36678fa48c3080a27ce3c92 100644 --- a/src/Emails/Email.php +++ b/src/Emails/Email.php @@ -2,9 +2,9 @@ namespace WPDesk\Library\WPEmail\Emails; -use WPDesk\Library\WPEmail\Abstracts\EmailAbstract; +use WPDesk\Library\WPEmail\Abstracts\EmailGettersAbstract; -class Email extends EmailAbstract { +class Email extends EmailGettersAbstract { const ID = 'email'; diff --git a/src/Integration.php b/src/Integration.php index 087e0fe892708d83ca74624d9bdc1fdff7388be6..9d33b70e4bf4261c495810dd30d08fd839189855 100644 --- a/src/Integration.php +++ b/src/Integration.php @@ -22,6 +22,7 @@ class Integration { $email_sender = new EmailSender( 'email@mojastron.pl', 'Moj sklep' ); $email = new Email( $renderer, [] ); + $email->set_subject( 'Tytuł')->set_heading( 'Nowa wiadomość' ); $email_sender->add_email( $email ); $email_sender->send();