*/
public static function sendTemplate(array $params): array {
// Handle isEmailPdf here as the unit test on that function deems it 'non-conforming'.
- $isAttachPDF = !empty($params['isEmailPdf']);
+ $isAttachPDFInvoice = !empty($params['isEmailPdf']) && !empty($params['contributionId']);
unset($params['isEmailPdf']);
[$mailContent, $params] = self::renderTemplateRaw($params);
if (!empty($params['toEmail'])) {
$config = CRM_Core_Config::singleton();
- if ($isAttachPDF) {
+ if ($isAttachPDFInvoice) {
// FIXME: $params['contributionId'] is not modeled in the parameter list. When is it supplied? Should probably move to tokenContext.contributionId.
$pdfHtml = CRM_Contribute_BAO_ContributionPage::addInvoicePdfToEmail($params['contributionId'], $params['contactId']);
if (empty($params['attachments'])) {
}
$params['attachments'][] = CRM_Utils_Mail::appendPDF('Invoice.pdf', $pdfHtml, $mailContent['format']);
}
- $pdf_filename = '';
+
if ($config->doNotAttachPDFReceipt &&
$params['PDFFilename'] &&
$params['html']
}
$sent = CRM_Utils_Mail::send($params);
-
- if ($pdf_filename) {
- unlink($pdf_filename);
- }
}
return [$sent, $mailContent['subject'], $mailContent['text'], $mailContent['html']];