$userID = $session->get('userID');
if (!empty($userID)) {
list($userName, $userEmail) = CRM_Contact_BAO_Contact_Location::getEmailDetails($userID);
- $values['receipt_from_email'] = $userEmail;
- $values['receipt_from_name'] = $userName;
+ $values['receipt_from_email'] = CRM_Utils_Array::value('receipt_from_email', $input, $userEmail);
+ $values['receipt_from_name'] = CRM_Utils_Array::value('receipt_from_name', $input, $userName);
}
}
return $contribution->composeMessageArray($input, $ids, $values, $recur, $returnMessageText);
'title' => 'Send email Receipt?',
'type' => CRM_Utils_Type::T_BOOLEAN,
);
+ $params['receipt_from_email'] = array(
+ 'title' => 'Email to send receipt from.',
+ 'description' => 'If not provided this will default to being based on domain mail or contribution page',
+ 'type' => CRM_Utils_Type::T_EMAIL,
+ );
+ $params['receipt_from_name'] = array(
+ 'title' => 'Name to send receipt from',
+ 'description' => '. If not provided this will default to domain mail or contribution page',
+ 'type' => CRM_Utils_Type::T_STRING,
+ );
}
/**
if (isset($params['is_email_receipt'])) {
$input['is_email_receipt'] = $params['is_email_receipt'];
}
+ if (empty($contribution->contribution_page_id)) {
+ static $domainFromName;
+ static $domainFromEmail;
+ if (empty($domainFromEmail) && (empty($params['receipt_from_name']) || empty($params['receipt_from_email']))) {
+ list($domainFromName, $domainFromEmail) = CRM_Core_BAO_Domain::getNameAndEmail(TRUE);
+ }
+ $input['receipt_from_name'] = CRM_Utils_Array::value('receipt_from_name', $params, $domainFromName);
+ $input['receipt_from_email'] = CRM_Utils_Array::value('receipt_from_email', $params, $domainFromEmail);
+ }
// @todo required for base ipn but problematic as api layer handles this
$transaction = new CRM_Core_Transaction();
$ipn = new CRM_Core_Payment_BaseIPN();