* Return the message text instead of sending the mail.
*
* @param array $fieldTypes
+ *
+ * @throws \CRM_Core_Exception
*/
public static function sendMail($contactID, $values, $isTest = FALSE, $returnMessageText = FALSE, $fieldTypes = NULL) {
$gIds = [];
) {
$template = CRM_Core_Smarty::singleton();
- // get the billing location type
if (!array_key_exists('related_contact', $values)) {
- $billingLocationTypeId = CRM_Core_BAO_LocationType::getBilling();
- }
- else {
- // presence of related contact implies onbehalf of org case,
- // where location type is set to default.
- $locType = CRM_Core_BAO_LocationType::getDefault();
- $billingLocationTypeId = $locType->id;
- }
-
- if (!array_key_exists('related_contact', $values)) {
- list($displayName, $email) = CRM_Contact_BAO_Contact_Location::getEmailDetails($contactID, FALSE, $billingLocationTypeId);
+ list($displayName, $email) = CRM_Contact_BAO_Contact_Location::getEmailDetails($contactID, FALSE, CRM_Core_BAO_LocationType::getBilling());
}
// get primary location email if no email exist( for billing location).
if (!$email) {
$preProfileTypes = CRM_Core_BAO_UFGroup::profileGroups($preID);
if (in_array('Individual', $preProfileTypes) || in_array('Contact', $preProfileTypes)) {
//Take Individual contact ID
- $userID = CRM_Utils_Array::value('related_contact', $values);
+ $userID = $values['related_contact'] ?? NULL;
}
}
list($values['customPre_grouptitle'], $values['customPre']) = self::getProfileNameAndFields($preID, $userID, $params['custom_pre_id']);
$postProfileTypes = CRM_Core_BAO_UFGroup::profileGroups($postID);
if (in_array('Individual', $postProfileTypes) || in_array('Contact', $postProfileTypes)) {
//Take Individual contact ID
- $userID = CRM_Utils_Array::value('related_contact', $values);
+ $userID = $values['related_contact'] ?? NULL;
}
}
list($values['customPost_grouptitle'], $values['customPost']) = self::getProfileNameAndFields($postID, $userID, $params['custom_post_id']);
);
}
- $title = isset($values['title']) ? $values['title'] : CRM_Contribute_BAO_Contribution_Utils::getContributionPageTitle($values['contribution_page_id']);
+ $title = $values['title'] ?? CRM_Contribute_BAO_Contribution_Utils::getContributionPageTitle($values['contribution_page_id']);
// Set email variables explicitly to avoid leaky smarty variables.
// All of these will be assigned to the template, replacing any that might be assigned elsewhere.
}
// CRM-6976
- $originalCCReceipt = CRM_Utils_Array::value('cc_receipt', $values);
+ $originalCCReceipt = $values['cc_receipt'] ?? NULL;
// cc to related contacts of contributor OR the one who
// signs up. Is used for cases like - on behalf of
$sendTemplateParams['from'] = CRM_Utils_Array::value('receipt_from_name', $values) . ' <' . $values['receipt_from_email'] . '>';
$sendTemplateParams['toName'] = $displayName;
$sendTemplateParams['toEmail'] = $email;
- $sendTemplateParams['cc'] = CRM_Utils_Array::value('cc_receipt', $values);
- $sendTemplateParams['bcc'] = CRM_Utils_Array::value('bcc_receipt', $values);
+ $sendTemplateParams['cc'] = $values['cc_receipt'] ?? NULL;
+ $sendTemplateParams['bcc'] = $values['bcc_receipt'] ?? NULL;
//send email with pdf invoice
$template = CRM_Core_Smarty::singleton();
$taxAmt = $template->get_template_vars('dataArray');
- $prefixValue = Civi::settings()->get('contribution_invoice_settings');
- $invoicing = CRM_Utils_Array::value('invoicing', $prefixValue);
- if (isset($invoicing) && isset($prefixValue['is_email_pdf'])) {
+ $isEmailPDF = Civi::settings()->get('invoice_is_email_pdf');
+ $invoicing = Civi::settings()->get('invoicing');
+ if ($invoicing && !empty($isEmailPDF)) {
$sendTemplateParams['isEmailPdf'] = TRUE;
$sendTemplateParams['contributionId'] = $values['contribution_id'];
}
$sendTemplateParams['groupName'] = 'msg_tpl_workflow_contribution';
$sendTemplateParams['valueName'] = 'contribution_dupalert';
$sendTemplateParams['from'] = ts('Automatically Generated') . " <{$values['receipt_from_email']}>";
- $sendTemplateParams['toName'] = CRM_Utils_Array::value('receipt_from_name', $values);
- $sendTemplateParams['toEmail'] = CRM_Utils_Array::value('receipt_from_email', $values);
+ $sendTemplateParams['toName'] = $values['receipt_from_name'] ?? NULL;
+ $sendTemplateParams['toEmail'] = $values['receipt_from_email'] ?? NULL;
$sendTemplateParams['tplParams']['onBehalfID'] = $contactID;
$sendTemplateParams['tplParams']['receiptMessage'] = $message;
* @param array $fieldTypes
*
* @return array
+ *
+ * @throws \CRM_Core_Exception
*/
- protected static function getProfileNameAndFields($gid, $cid, &$params, $fieldTypes = []) {
+ protected static function getProfileNameAndFields($gid, $cid, $params, $fieldTypes = []) {
$groupTitle = NULL;
$values = [];
if ($gid) {
$fields = CRM_Core_BAO_UFGroup::getFields($gid, FALSE, CRM_Core_Action::VIEW, NULL, NULL, FALSE, NULL, FALSE, NULL, CRM_Core_Permission::CREATE, NULL);
foreach ($fields as $k => $v) {
if (!$groupTitle) {
- $groupTitle = $v["groupTitle"];
+ $groupTitle = $v['groupTitle'];
}
// suppress all file fields from display and formatting fields
if (
- CRM_Utils_Array::value('data_type', $v, '') == 'File' ||
- CRM_Utils_Array::value('name', $v, '') == 'image_URL' ||
- CRM_Utils_Array::value('field_type', $v) == 'Formatting'
- ) {
+ $v['data_type'] === 'File' || $v['name'] === 'image_URL' || $v['field_type'] === 'Formatting') {
unset($fields[$k]);
}
'cc_receipt',
'bcc_receipt',
]);
- $isEmailReceipt = CRM_Utils_Array::value('is_email_receipt', $value[$pageID]);
+ $isEmailReceipt = $value[$pageID]['is_email_receipt'] ?? NULL;
}
elseif ($recur->id) {
// This means we are coming from back-office - ie. no page ID, but recurring.
];
//CRM-13811
if ($pageID) {
- $templatesParams['cc'] = CRM_Utils_Array::value('cc_receipt', $value[$pageID]);
- $templatesParams['bcc'] = CRM_Utils_Array::value('bcc_receipt', $value[$pageID]);
+ $templatesParams['cc'] = $value[$pageID]['cc_receipt'] ?? NULL;
+ $templatesParams['bcc'] = $value[$pageID]['bcc_receipt'] ?? NULL;
}
if ($recur->id) {
// in some cases its just recurringNotify() thats called for the first time and these urls don't get set.