* 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) {
//send email with pdf invoice
$template = CRM_Core_Smarty::singleton();
$taxAmt = $template->get_template_vars('dataArray');
- $prefixValue = Civi::settings()->get('contribution_invoice_settings');
- $invoicing = $prefixValue['invoicing'] ?? NULL;
- 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'];
}
* @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]);
}