From 1df74b3a7192a7df90da0809808df34e5e3d9709 Mon Sep 17 00:00:00 2001 From: Piotr Potrebka <piotr.potrebka@wpdesk.net> Date: Mon, 23 Jan 2023 13:54:14 +0100 Subject: [PATCH] init --- ...lAbstract.php => EmailGettersAbstract.php} | 25 ++++++++++++++++++- ...nterface.php => EmailGettersInterface.php} | 2 +- src/EmailSender.php | 6 ++--- src/Emails/Email.php | 4 +-- src/Integration.php | 1 + 5 files changed, 31 insertions(+), 7 deletions(-) rename src/Abstracts/{EmailAbstract.php => EmailGettersAbstract.php} (82%) rename src/Abstracts/{EmailInterface.php => EmailGettersInterface.php} (97%) 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 5aba38c..a510234 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 8439a44..f55967b 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 f249ad9..2f5ea76 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 e5b4991..1decb4d 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 087e0fe..9d33b70 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(); -- GitLab