- // check whether sending post content in email notifications is allowed
- // always true for SYSTEM_EMAIL
- $content_allowed = ((!DI::config()->get('system', 'enotify_no_content')) || ($params['type'] == SYSTEM_EMAIL));
-
- // load the template for private message notifications
- $tpl = Renderer::getMarkupTemplate('email/notify_html.tpl');
- $email_html_body = Renderer::replaceMacros($tpl, [
- '$banner' => $datarray['banner'],
- '$product' => $datarray['product'],
- '$preamble' => str_replace("\n", "<br>\n", $datarray['preamble']),
- '$sitename' => $datarray['sitename'],
- '$siteurl' => $datarray['siteurl'],
- '$source_name' => $datarray['source_name'],
- '$source_link' => $datarray['source_link'],
- '$source_photo' => $datarray['source_photo'],
- '$hsitelink' => $datarray['hsitelink'],
- '$hitemlink' => $datarray['hitemlink'],
- '$thanks' => $datarray['thanks'],
- '$site_admin' => $datarray['site_admin'],
- '$title' => $datarray['title'],
- '$htmlversion' => $datarray['htmlversion'],
- '$content_allowed' => $content_allowed,
- ]);
-
- // load the template for private message notifications
- $tpl = Renderer::getMarkupTemplate('email/notify_text.tpl');
- $email_text_body = Renderer::replaceMacros($tpl, [
- '$preamble' => $datarray['preamble'],
- '$tsitelink' => $datarray['tsitelink'],
- '$titemlink' => $datarray['titemlink'],
- '$thanks' => $datarray['thanks'],
- '$site_admin' => $datarray['site_admin'],
- '$title' => $datarray['title'],
- '$textversion' => $datarray['textversion'],
- '$content_allowed' => $content_allowed,
- ]);
+ $builder = DI::emailer()
+ ->newNotifyMail()
+ ->addHeaders($datarray['headers'])
+ ->withRecipient($params['to_email'])
+ ->forUser([
+ 'uid' => $datarray['uid'],
+ 'language' => $params['language'],
+ ])
+ ->withNotification($datarray['subject'], $datarray['preamble'], $datarray['title'], $datarray['body'])
+ ->withSiteLink($datarray['tsitelink'], $datarray['hsitelink'])
+ ->withItemLink($datarray['itemlink']);
+
+ // If a photo is present, add it to the email
+ if (!empty($datarray['source_photo'])) {
+ $builder->withPhoto(
+ $datarray['source_photo'],
+ $datarray['source_link'] ?? $sitelink,
+ $datarray['source_name'] ?? $sitename);
+ }