Extract System emails from enotify

- Removed every SYSTEM_EMAIL occurrence in enotify
- Introduced a "SystemMailBuilder" for build system emails
- Replaced every SYSTEM_EMAIL usage in the classes with calling this builder
- Added tests for this new Builder
- Split the email templates between "base" template for email and concrete usages for different use cases
This commit is contained in:
nupplaPhil 2020-02-01 20:08:54 +01:00
parent 74490d6594
commit 3291728059
No known key found for this signature in database
GPG key ID: D8365C3D36B77D90
18 changed files with 647 additions and 118 deletions

View file

@ -0,0 +1,57 @@
<?php
namespace Friendica\Test\Util;
use Friendica\Util\EMailer\MailBuilder;
class SampleMailBuilder extends MailBuilder
{
/** @var string */
protected $subject;
/** @var string */
protected $html;
/** @var string */
protected $text;
/**
* Adds a test message
*
* @param string $subject The subject of the email
* @param string $html The preamble of the email
* @param string $text The body of the email (if not set, the preamble will get used as body)
*
* @return static
*/
public function withMessage(string $subject, string $html, string $text)
{
$this->subject = $subject;
$this->html = $html;
$this->text = $text;
return $this;
}
/**
* @inheritDoc
*/
protected function getSubject()
{
return $this->subject;
}
/**
* @inheritDoc
*/
protected function getHtmlMessage()
{
return $this->html;
}
/**
* @inheritDoc
*/
protected function getPlaintextMessage()
{
return $this->text;
}
}