本文整理汇总了PHP中CRM_Core_BAO_UFGroup::getValues方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_BAO_UFGroup::getValues方法的具体用法?PHP CRM_Core_BAO_UFGroup::getValues怎么用?PHP CRM_Core_BAO_UFGroup::getValues使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Core_BAO_UFGroup
的用法示例。
在下文中一共展示了CRM_Core_BAO_UFGroup::getValues方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: submit
//.........这里部分代码省略.........
// These variable sets prior to renewMembership may not be required for this form. They were in
// a function this form shared with other forms.
$membershipSource = NULL;
if (!empty($this->_params['membership_source'])) {
$membershipSource = $this->_params['membership_source'];
}
$isPending = $this->_params['contribution_status_id'] == 2 ? TRUE : FALSE;
list($renewMembership) = CRM_Member_BAO_Membership::renewMembership($this->_contactID, $this->_params['membership_type_id'][1], $isTestMembership, $renewalDate, NULL, $customFieldsFormatted, $numRenewTerms, $this->_membershipId, $isPending, $contributionRecurID, $membershipSource, $this->_params['is_pay_later'], CRM_Utils_Array::value('campaign_id', $this->_params));
$this->endDate = CRM_Utils_Date::processDate($renewMembership->end_date);
$this->membershipTypeName = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipType', $renewMembership->membership_type_id, 'name');
if (!empty($this->_params['record_contribution']) || $this->_mode) {
// set the source
$this->_params['contribution_source'] = "{$this->membershipTypeName} Membership: Offline membership renewal (by {$userName})";
//create line items
$lineItem = array();
$this->_params = $this->setPriceSetParameters($this->_params);
CRM_Price_BAO_PriceSet::processAmount($this->_priceSet['fields'], $this->_params, $lineItem[$this->_priceSetId]);
//CRM-11529 for quick config backoffice transactions
//when financial_type_id is passed in form, update the
//line items with the financial type selected in form
if ($submittedFinancialType = CRM_Utils_Array::value('financial_type_id', $this->_params)) {
foreach ($lineItem[$this->_priceSetId] as &$li) {
$li['financial_type_id'] = $submittedFinancialType;
}
}
if (!empty($lineItem)) {
$this->_params['lineItems'] = $lineItem;
$this->_params['processPriceSet'] = TRUE;
}
//assign contribution contact id to the field expected by recordMembershipContribution
if ($this->_contributorContactID != $this->_contactID) {
$this->_params['contribution_contact_id'] = $this->_contributorContactID;
if (!empty($this->_params['soft_credit_type_id'])) {
$this->_params['soft_credit'] = array('soft_credit_type_id' => $this->_params['soft_credit_type_id'], 'contact_id' => $this->_contactID);
}
}
$this->_params['contact_id'] = $this->_contactID;
//recordMembershipContribution receives params as a reference & adds one variable. This is
// not a great pattern & ideally it would not receive as a reference. We assign our params as a
// temporary variable to avoid e-notice & to make it clear to future refactorer that
// this function is NOT reliant on that var being set
$temporaryParams = array_merge($this->_params, array('membership_id' => $renewMembership->id));
CRM_Member_BAO_Membership::recordMembershipContribution($temporaryParams);
}
if (!empty($this->_params['send_receipt'])) {
$receiptFrom = $this->_params['from_email_address'];
if (!empty($this->_params['payment_instrument_id'])) {
$paymentInstrument = CRM_Contribute_PseudoConstant::paymentInstrument();
$this->_params['paidBy'] = $paymentInstrument[$this->_params['payment_instrument_id']];
}
//get the group Tree
$this->_groupTree = CRM_Core_BAO_CustomGroup::getTree('Membership', $this, $this->_id, FALSE, $this->_memType);
// retrieve custom data
$customFields = $customValues = $fo = array();
foreach ($this->_groupTree as $groupID => $group) {
if ($groupID == 'info') {
continue;
}
foreach ($group['fields'] as $k => $field) {
$field['title'] = $field['label'];
$customFields["custom_{$k}"] = $field;
}
}
$members = array(array('member_id', '=', $this->_membershipId, 0, 0));
// check whether its a test drive
if ($this->_mode == 'test') {
$members[] = array('member_test', '=', 1, 0, 0);
}
CRM_Core_BAO_UFGroup::getValues($this->_contactID, $customFields, $customValues, FALSE, $members);
$this->assign_by_ref('formValues', $this->_params);
if (!empty($this->_params['contribution_id'])) {
$this->assign('contributionID', $this->_params['contribution_id']);
}
$this->assign('membership_name', CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipType', $renewMembership->membership_type_id));
$this->assign('customValues', $customValues);
$this->assign('mem_start_date', CRM_Utils_Date::customFormat($renewMembership->start_date));
$this->assign('mem_end_date', CRM_Utils_Date::customFormat($renewMembership->end_date));
if ($this->_mode) {
// assign the address formatted up for display
$addressParts = array("street_address-{$this->_bltID}", "city-{$this->_bltID}", "postal_code-{$this->_bltID}", "state_province-{$this->_bltID}", "country-{$this->_bltID}");
$addressFields = array();
foreach ($addressParts as $part) {
list($n) = explode('-', $part);
if (isset($this->_params['billing_' . $part])) {
$addressFields[$n] = $this->_params['billing_' . $part];
}
}
$this->assign('address', CRM_Utils_Address::format($addressFields));
$this->assign('contributeMode', 'direct');
$this->assign('isAmountzero', 0);
$this->assign('is_pay_later', 0);
$this->assign('isPrimary', 1);
$this->assign('receipt_text_renewal', $this->_params['receipt_text']);
if ($this->_mode == 'test') {
$this->assign('action', '1024');
}
}
list($this->isMailSent) = CRM_Core_BAO_MessageTemplate::sendTemplate(array('groupName' => 'msg_tpl_workflow_membership', 'valueName' => 'membership_offline_receipt', 'contactId' => $this->_receiptContactId, 'from' => $receiptFrom, 'toName' => $this->_contributorDisplayName, 'toEmail' => $this->_contributorEmail, 'isTest' => $this->_mode == 'test'));
}
}
示例2: checkFieldsEmptyValues
/**
* Given a contact id and a group id, returns the field values from the db
* for this group and notify email only if group's notify field is
* set and field values are not empty
*
* @param int $gid
* Group id.
* @param int $cid
* Contact id.
* @param array $params
* @param bool $skipCheck
*
* @return array
*/
public function checkFieldsEmptyValues($gid, $cid, $params, $skipCheck = FALSE)
{
if ($gid) {
if (CRM_Core_BAO_UFGroup::filterUFGroups($gid, $cid) || $skipCheck) {
$values = array();
$fields = CRM_Core_BAO_UFGroup::getFields($gid, FALSE, CRM_Core_Action::VIEW);
CRM_Core_BAO_UFGroup::getValues($cid, $fields, $values, FALSE, $params, TRUE);
$email = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_UFGroup', $gid, 'notify');
if (!empty($values) && !empty($email)) {
$val = array('id' => $gid, 'values' => $values, 'email' => $email);
return $val;
}
}
}
return NULL;
}
示例3: buildCustomDisplay
/**
* Add the custom fields for contribution page (ie profile)
*
* @param int $gid
* Uf group id.
* @param string $name
* @param int $cid
* Contact id.
* @param $template
* @param array $params
* Params to build component whereclause.
*
* @param null $fieldTypes
*
* @return void
*/
public static function buildCustomDisplay($gid, $name, $cid, &$template, &$params, $fieldTypes = NULL)
{
if ($gid) {
if (CRM_Core_BAO_UFGroup::filterUFGroups($gid, $cid)) {
$values = array();
$groupTitle = NULL;
$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"];
}
// 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') {
unset($fields[$k]);
}
if (!empty($fieldTypes) && !in_array($v['field_type'], $fieldTypes)) {
unset($fields[$k]);
}
}
if ($groupTitle) {
$template->assign($name . "_grouptitle", $groupTitle);
}
CRM_Core_BAO_UFGroup::getValues($cid, $fields, $values, FALSE, $params);
if (count($values)) {
$template->assign($name, $values);
}
}
}
}
示例4: checkFieldsEmptyValues
/**
* Given a contact id and a group id, returns the field values from the db
* for this group and notify email only if group's notify field is
* set and field values are not empty
*
* @params $gid group id
* @params $cid contact id
* @params $params associative array
* @return array
* @access public
*/
function checkFieldsEmptyValues($gid, $cid, $params)
{
if ($gid) {
require_once 'CRM/Core/BAO/UFGroup.php';
if (CRM_Core_BAO_UFGroup::filterUFGroups($gid, $cid)) {
$values = array();
$fields = CRM_Core_BAO_UFGroup::getFields($gid, false, CRM_Core_Action::VIEW);
CRM_Core_BAO_UFGroup::getValues($cid, $fields, $values, false, $params);
$count = 0;
//checks for array with only keys and not values
foreach ($values as $value) {
if ($value) {
$count++;
}
}
$email = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_UFGroup', $gid, 'notify');
$val = array('id' => $gid, 'values' => $values, 'email' => $email);
return $val;
}
}
}
示例5: sendAcknowledgment
/**
* Function to send Acknowledgment and create activity.
*
* @param object $form form object.
* @param array $params (reference ) an assoc array of name/value pairs.
* @access public
*
* @return None.
*/
function sendAcknowledgment(&$form, $params)
{
//handle Acknowledgment.
$allPayments = $payments = array();
//get All Payments status types.
$paymentStatusTypes = CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'name');
$returnProperties = array('status_id', 'scheduled_amount', 'scheduled_date', 'contribution_id');
//get all paymnets details.
CRM_Core_DAO::commonRetrieveAll('CRM_Pledge_DAO_PledgePayment', 'pledge_id', $params['id'], $allPayments, $returnProperties);
if (!empty($allPayments)) {
foreach ($allPayments as $payID => $values) {
$contributionValue = $contributionStatus = array();
if (isset($values['contribution_id'])) {
$contributionParams = array('id' => $values['contribution_id']);
$returnProperties = array('contribution_status_id', 'receive_date');
CRM_Core_DAO::commonRetrieve('CRM_Contribute_DAO_Contribution', $contributionParams, $contributionStatus, $returnProperties);
$contributionValue = array('status' => CRM_Utils_Array::value('contribution_status_id', $contributionStatus), 'receive_date' => CRM_Utils_Array::value('receive_date', $contributionStatus));
}
$payments[$payID] = array_merge($contributionValue, array('amount' => CRM_Utils_Array::value('scheduled_amount', $values), 'due_date' => CRM_Utils_Array::value('scheduled_date', $values)));
//get the first valid payment id.
if (!isset($form->paymentId) && ($paymentStatusTypes[$values['status_id']] == 'Pending' || $paymentStatusTypes[$values['status_id']] == 'Overdue')) {
$form->paymentId = $values['id'];
}
}
}
//end
//assign pledge fields value to template.
$pledgeFields = array('create_date', 'total_pledge_amount', 'frequency_interval', 'frequency_unit', 'installments', 'frequency_day', 'scheduled_amount', 'currency');
foreach ($pledgeFields as $field) {
if (CRM_Utils_Array::value($field, $params)) {
$form->assign($field, $params[$field]);
}
}
//assign all payments details.
if ($payments) {
$form->assign('payments', $payments);
}
//assign honor fields.
$honor_block_is_active = FALSE;
//make sure we have values for it
if (CRM_Utils_Array::value('honor_type_id', $params) && (!empty($params['honor_first_name']) && !empty($params['honor_last_name']) || !empty($params['honor_email']))) {
$honor_block_is_active = TRUE;
$prefix = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'prefix_id');
$honor = CRM_Core_PseudoConstant::get('CRM_Pledge_DAO_Pledge', 'honor_type_id');
$form->assign('honor_type', $honor[$params['honor_type_id']]);
$form->assign('honor_prefix', $prefix[$params['honor_prefix_id']]);
$form->assign('honor_first_name', $params['honor_first_name']);
$form->assign('honor_last_name', $params['honor_last_name']);
$form->assign('honor_email', $params['honor_email']);
}
$form->assign('honor_block_is_active', $honor_block_is_active);
//handle domain token values
$domain = CRM_Core_BAO_Domain::getDomain();
$tokens = array('domain' => array('name', 'phone', 'address', 'email'), 'contact' => CRM_Core_SelectValues::contactTokens());
$domainValues = array();
foreach ($tokens['domain'] as $token) {
$domainValues[$token] = CRM_Utils_Token::getDomainTokenReplacement($token, $domain);
}
$form->assign('domain', $domainValues);
//handle contact token values.
$ids = array($params['contact_id']);
$fields = array_merge(array_keys(CRM_Contact_BAO_Contact::importableFields()), array('display_name', 'checksum', 'contact_id'));
foreach ($fields as $key => $val) {
$returnProperties[$val] = TRUE;
}
$details = CRM_Utils_Token::getTokenDetails($ids, $returnProperties, TRUE, TRUE, NULL, $tokens, get_class($form));
$form->assign('contact', $details[0][$params['contact_id']]);
//handle custom data.
if (CRM_Utils_Array::value('hidden_custom', $params)) {
$groupTree = CRM_Core_BAO_CustomGroup::getTree('Pledge', CRM_Core_DAO::$_nullObject, $params['id']);
$pledgeParams = array(array('pledge_id', '=', $params['id'], 0, 0));
$customGroup = array();
// retrieve custom data
foreach ($groupTree as $groupID => $group) {
$customFields = $customValues = array();
if ($groupID == 'info') {
continue;
}
foreach ($group['fields'] as $k => $field) {
$field['title'] = $field['label'];
$customFields["custom_{$k}"] = $field;
}
//to build array of customgroup & customfields in it
CRM_Core_BAO_UFGroup::getValues($params['contact_id'], $customFields, $customValues, FALSE, $pledgeParams);
$customGroup[$group['title']] = $customValues;
}
$form->assign('customGroup', $customGroup);
}
//handle acknowledgment email stuff.
list($pledgerDisplayName, $pledgerEmail) = CRM_Contact_BAO_Contact_Location::getEmailDetails($params['contact_id']);
//check for online pledge.
//.........这里部分代码省略.........
示例6: postProcess
//.........这里部分代码省略.........
} else {
$membership =& CRM_Member_BAO_Membership::create($params, $ids);
}
}
if (CRM_Utils_Array::value('send_receipt', $formValues)) {
require_once 'CRM/Core/DAO.php';
CRM_Core_DAO::setFieldValue('CRM_Member_DAO_MembershipType', $params['membership_type_id'], 'receipt_text_signup', $formValues['receipt_text_signup']);
}
$receiptSend = false;
if (CRM_Utils_Array::value('send_receipt', $formValues)) {
$receiptSend = true;
$receiptFrom = "{$userName} <{$userEmail}>";
if (CRM_Utils_Array::value('payment_instrument_id', $formValues)) {
$paymentInstrument = CRM_Contribute_PseudoConstant::paymentInstrument();
$formValues['paidBy'] = $paymentInstrument[$formValues['payment_instrument_id']];
}
// retrieve custom data
require_once "CRM/Core/BAO/UFGroup.php";
$customFields = $customValues = array();
foreach ($this->_groupTree as $groupID => $group) {
if ($groupID == 'info') {
continue;
}
foreach ($group['fields'] as $k => $field) {
$field['title'] = $field['label'];
$customFields["custom_{$k}"] = $field;
}
}
$members = array(array('member_id', '=', $membership->id, 0, 0));
// check whether its a test drive
if ($this->_mode) {
$members[] = array('member_test', '=', 1, 0, 0);
}
CRM_Core_BAO_UFGroup::getValues($this->_contactID, $customFields, $customValues, false, $members);
if ($this->_mode) {
if (CRM_Utils_Array::value('billing_first_name', $this->_params)) {
$name = $this->_params['billing_first_name'];
}
if (CRM_Utils_Array::value('billing_middle_name', $this->_params)) {
$name .= " {$this->_params['billing_middle_name']}";
}
if (CRM_Utils_Array::value('billing_last_name', $this->_params)) {
$name .= " {$this->_params['billing_last_name']}";
}
$this->assign('billingName', $name);
// assign the address formatted up for display
$addressParts = array("street_address-{$this->_bltID}", "city-{$this->_bltID}", "postal_code-{$this->_bltID}", "state_province-{$this->_bltID}", "country-{$this->_bltID}");
$addressFields = array();
foreach ($addressParts as $part) {
list($n, $id) = explode('-', $part);
if (isset($this->_params['billing_' . $part])) {
$addressFields[$n] = $this->_params['billing_' . $part];
}
}
require_once 'CRM/Utils/Address.php';
$this->assign('address', CRM_Utils_Address::format($addressFields));
$date = CRM_Utils_Date::format($this->_params['credit_card_exp_date']);
$date = CRM_Utils_Date::mysqlToIso($date);
$this->assign('credit_card_exp_date', $date);
$this->assign('credit_card_number', CRM_Utils_System::mungeCreditCard($this->_params['credit_card_number']));
$this->assign('credit_card_type', $this->_params['credit_card_type']);
$this->assign('contributeMode', 'direct');
$this->assign('isAmountzero', 0);
$this->assign('is_pay_later', 0);
$this->assign('isPrimary', 1);
}
示例7: getProfileNameAndFields
/**
* Get the profile title and fields.
*
* @param int $gid
* @param int $cid
* @param array $params
* @param array $fieldTypes
*
* @return array
*/
protected static function getProfileNameAndFields($gid, $cid, &$params, $fieldTypes = array())
{
$groupTitle = NULL;
$values = array();
if ($gid) {
if (CRM_Core_BAO_UFGroup::filterUFGroups($gid, $cid)) {
$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"];
}
// 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') {
unset($fields[$k]);
}
if (!empty($fieldTypes) && !in_array($v['field_type'], $fieldTypes)) {
unset($fields[$k]);
}
}
CRM_Core_BAO_UFGroup::getValues($cid, $fields, $values, FALSE, $params);
}
}
return array($groupTitle, $values);
}
示例8: run
/**
* Run the page.
*
* This method is called after the page is created. It checks for the
* type of action and executes that action.
*
* @return void
*/
public function run()
{
$template = CRM_Core_Smarty::singleton();
if ($this->_id && $this->_gid) {
// first check that id is part of the limit group id, CRM-4822
$limitListingsGroupsID = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_UFGroup', $this->_gid, 'limit_listings_group_id');
$config = CRM_Core_Config::singleton();
if ($limitListingsGroupsID) {
if (!CRM_Contact_BAO_GroupContact::isContactInGroup($this->_id, $limitListingsGroupsID)) {
CRM_Utils_System::setTitle(ts('Profile View - Permission Denied'));
return CRM_Core_Session::setStatus(ts('You do not have permission to view this contact record. Contact the site administrator if you need assistance.'), ts('Permission Denied'), 'error');
}
}
$session = CRM_Core_Session::singleton();
$userID = $session->get('userID');
$this->_isPermissionedChecksum = $allowPermission = FALSE;
$permissionType = CRM_Core_Permission::VIEW;
if (CRM_Core_Permission::check('administer users') || CRM_Core_Permission::check('view all contacts') || CRM_Contact_BAO_Contact_Permission::allow($this->_id)) {
$allowPermission = TRUE;
}
if ($this->_id != $userID) {
// do not allow edit for anon users in joomla frontend, CRM-4668, unless u have checksum CRM-5228
if ($config->userFrameworkFrontend) {
$this->_isPermissionedChecksum = CRM_Contact_BAO_Contact_Permission::validateOnlyChecksum($this->_id, $this, FALSE);
if (!$this->_isPermissionedChecksum) {
$this->_isPermissionedChecksum = $allowPermission;
}
} else {
$this->_isPermissionedChecksum = CRM_Contact_BAO_Contact_Permission::validateChecksumContact($this->_id, $this, FALSE);
}
}
// CRM-10853
// Users with create or edit permission should be allowed to view their own profile
if ($this->_id == $userID || $this->_isPermissionedChecksum) {
if (!CRM_Core_Permission::check('profile view')) {
if (CRM_Core_Permission::check('profile create') || CRM_Core_Permission::check('profile edit')) {
$this->_skipPermission = TRUE;
}
}
}
// make sure we dont expose all fields based on permission
$admin = FALSE;
if (!$config->userFrameworkFrontend && $allowPermission || $this->_id == $userID || $this->_isPermissionedChecksum) {
$admin = TRUE;
}
$values = array();
$fields = CRM_Core_BAO_UFGroup::getFields($this->_profileIds, FALSE, CRM_Core_Action::VIEW, NULL, NULL, FALSE, $this->_restrict, $this->_skipPermission, NULL, $permissionType);
if ($this->_multiRecord & CRM_Core_Action::VIEW && $this->_recordId && !$this->_allFields) {
CRM_Core_BAO_UFGroup::shiftMultiRecordFields($fields, $multiRecordFields);
$fields = $multiRecordFields;
}
if ($this->_isContactActivityProfile && $this->_gid) {
$errors = CRM_Profile_Form::validateContactActivityProfile($this->_activityId, $this->_id, $this->_gid);
if (!empty($errors)) {
CRM_Core_Error::fatal(array_pop($errors));
}
}
//reformat fields array
foreach ($fields as $name => $field) {
// also eliminate all formatting fields
if (CRM_Utils_Array::value('field_type', $field) == 'Formatting') {
unset($fields[$name]);
}
// make sure that there is enough permission to expose this field
if (!$admin && $field['visibility'] == 'User and User Admin Only') {
unset($fields[$name]);
}
}
if ($this->_isContactActivityProfile) {
$contactFields = $activityFields = array();
foreach ($fields as $fieldName => $field) {
if (CRM_Utils_Array::value('field_type', $field) == 'Activity') {
$activityFields[$fieldName] = $field;
} else {
$contactFields[$fieldName] = $field;
}
}
CRM_Core_BAO_UFGroup::getValues($this->_id, $contactFields, $values);
if ($this->_activityId) {
CRM_Core_BAO_UFGroup::getValues(NULL, $activityFields, $values, TRUE, array(array('activity_id', '=', $this->_activityId, 0, 0)));
}
} else {
$customWhereClause = NULL;
if ($this->_multiRecord & CRM_Core_Action::VIEW && $this->_recordId) {
if ($this->_allFields) {
$copyFields = $fields;
CRM_Core_BAO_UFGroup::shiftMultiRecordFields($copyFields, $multiRecordFields);
$fieldKey = key($multiRecordFields);
} else {
$fieldKey = key($fields);
}
if ($fieldID = CRM_Core_BAO_CustomField::getKeyID($fieldKey)) {
//.........这里部分代码省略.........
示例9: buildCustomDisplay
/**
* Function to add the custom fields for contribution page (ie profile)
*
* @param int $gid uf group id
* @param string $name
* @param int $cid contact id
* @param array $params params to build component whereclause
*
* @return void
* @access public
* @static
*/
function buildCustomDisplay($gid, $name, $cid, &$template, &$params)
{
if ($gid) {
require_once 'CRM/Core/BAO/UFGroup.php';
if (CRM_Core_BAO_UFGroup::filterUFGroups($gid, $cid)) {
$values = array();
$groupTitle = null;
$fields = CRM_Core_BAO_UFGroup::getFields($gid, false, CRM_Core_Action::VIEW);
foreach ($fields as $k => $v) {
if (!$groupTitle) {
$groupTitle = $v["groupTitle"];
}
// suppress all file fields from display
if (CRM_Utils_Array::value('data_type', $v, '') == 'File') {
unset($fields[$k]);
}
}
if ($groupTitle) {
$template->assign($name . "_grouptitle", $groupTitle);
}
CRM_Core_BAO_UFGroup::getValues($cid, $fields, $values, false, $params);
if (count($values)) {
$template->assign($name, $values);
}
}
}
}
示例10: postProcess
//.........这里部分代码省略.........
$recordContribution = array('total_amount', 'contribution_type_id', 'payment_instrument_id', 'trxn_id', 'contribution_status_id', 'invoice_id', 'check_number', 'is_test');
foreach ($recordContribution as $f) {
$contributionParams[$f] = CRM_Utils_Array::value($f, $formValues);
}
require_once 'CRM/Contribute/BAO/Contribution.php';
$contribution =& CRM_Contribute_BAO_Contribution::create($contributionParams, $ids);
require_once 'CRM/Member/DAO/MembershipPayment.php';
$mpDAO =& new CRM_Member_DAO_MembershipPayment();
$mpDAO->membership_id = $renewMembership->id;
$mpDAO->contribution_id = $contribution->id;
$mpDAO->save();
if ($this->_mode) {
$trxnParams = array('contribution_id' => $contribution->id, 'trxn_date' => $now, 'trxn_type' => 'Debit', 'total_amount' => $formValues['total_amount'], 'fee_amount' => CRM_Utils_Array::value('fee_amount', $result), 'net_amount' => CRM_Utils_Array::value('net_amount', $result, $formValues['total_amount']), 'currency' => $config->defaultCurrency, 'payment_processor' => $this->_paymentProcessor['payment_processor_type'], 'trxn_id' => $result['trxn_id']);
require_once 'CRM/Contribute/BAO/FinancialTrxn.php';
$trxn =& CRM_Contribute_BAO_FinancialTrxn::create($trxnParams);
}
}
if (CRM_Utils_Array::value('send_receipt', $formValues)) {
require_once 'CRM/Core/DAO.php';
CRM_Core_DAO::setFieldValue('CRM_Member_DAO_MembershipType', CRM_Utils_Array::value('membership_type_id', $params), 'receipt_text_renewal', $formValues['receipt_text_renewal']);
}
$receiptSend = false;
if (CRM_Utils_Array::value('send_receipt', $formValues)) {
$receiptSend = true;
// Retrieve the name and email of the contact - this will be the TO for receipt email
list($this->_contributorDisplayName, $this->_contributorEmail) = CRM_Contact_BAO_Contact_Location::getEmailDetails($this->_contactID);
$receiptFrom = '"' . $userName . '" <' . $userEmail . '>';
$paymentInstrument = CRM_Contribute_PseudoConstant::paymentInstrument();
$formValues['paidBy'] = $paymentInstrument[$formValues['payment_instrument_id']];
//get the group Tree
$this->_groupTree =& CRM_Core_BAO_CustomGroup::getTree('Membership', $this, $this->_id, false, $this->_memType);
// retrieve custom data
require_once "CRM/Core/BAO/UFGroup.php";
$customFields = $customValues = $fo = array();
foreach ($this->_groupTree as $groupID => $group) {
if ($groupID == 'info') {
continue;
}
foreach ($group['fields'] as $k => $field) {
$field['title'] = $field['label'];
$customFields["custom_{$k}"] = $field;
}
}
CRM_Core_BAO_UFGroup::getValues($this->_contactID, $customFields, $customValues, false, array(array('member_id', '=', $renewMembership->id, 0, 0)));
$this->assign_by_ref('formValues', $formValues);
$this->assign('receive_date', $renewalDate);
$this->assign('module', 'Membership');
$this->assign('receiptType', 'membership renewal');
$this->assign('mem_start_date', CRM_Utils_Date::customFormat($renewMembership->start_date));
$this->assign('mem_end_date', CRM_Utils_Date::customFormat($renewMembership->end_date));
$this->assign('membership_name', CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipType', $renewMembership->membership_type_id));
$this->assign('customValues', $customValues);
if ($this->_mode) {
if (CRM_Utils_Array::value('billing_first_name', $this->_params)) {
$name = $this->_params['billing_first_name'];
}
if (CRM_Utils_Array::value('billing_middle_name', $this->_params)) {
$name .= " {$this->_params['billing_middle_name']}";
}
if (CRM_Utils_Array::value('billing_last_name', $this->_params)) {
$name .= " {$this->_params['billing_last_name']}";
}
$this->assign('billingName', $name);
// assign the address formatted up for display
$addressParts = array("street_address-{$this->_bltID}", "city-{$this->_bltID}", "postal_code-{$this->_bltID}", "state_province-{$this->_bltID}", "country-{$this->_bltID}");
$addressFields = array();
foreach ($addressParts as $part) {
list($n, $id) = explode('-', $part);
if (isset($this->_params['billing_' . $part])) {
$addressFields[$n] = $this->_params['billing_' . $part];
}
}
require_once 'CRM/Utils/Address.php';
$this->assign('address', CRM_Utils_Address::format($addressFields));
$date = CRM_Utils_Date::format($this->_params['credit_card_exp_date']);
$date = CRM_Utils_Date::mysqlToIso($date);
$this->assign('credit_card_exp_date', $date);
$this->assign('credit_card_number', CRM_Utils_System::mungeCreditCard($this->_params['credit_card_number']));
$this->assign('credit_card_type', $this->_params['credit_card_type']);
$this->assign('contributeMode', 'direct');
$this->assign('isAmountzero', 0);
$this->assign('is_pay_later', 0);
$this->assign('isPrimary', 1);
if ($this->_mode == 'test') {
$this->assign('action', '1024');
}
}
require_once 'CRM/Core/BAO/MessageTemplates.php';
list($mailSend, $subject, $message, $html) = CRM_Core_BAO_MessageTemplates::sendTemplate(array('groupName' => 'msg_tpl_workflow_membership', 'valueName' => 'membership_offline_receipt', 'contactId' => $this->_contactID, 'from' => $receiptFrom, 'toName' => $this->_contributorDisplayName, 'toEmail' => $this->_contributorEmail, 'isTest' => $this->_mode == 'test'));
}
$statusMsg = ts('%1 membership for %2 has been renewed.', array(1 => $memType, 2 => $this->_contributorDisplayName));
$endDate = CRM_Utils_Date::customFormat(CRM_Core_DAO::getFieldValue("CRM_Member_DAO_Membership", $this->_id, "end_date"));
if ($endDate) {
$statusMsg .= ' ' . ts('The new membership End Date is %1.', array(1 => $endDate));
}
if ($receiptSend && $mailSend) {
$statusMsg .= ' ' . ts('A renewal confirmation and receipt has been sent to %1.', array(1 => $this->_contributorEmail));
}
CRM_Core_Session::setStatus($statusMsg);
}
示例11: emailReceipt
//.........这里部分代码省略.........
$individualPrefix = CRM_Core_PseudoConstant::individualPrefix();
$honor = CRM_Core_PseudoConstant::honor();
$params['honor_prefix'] = CRM_Utils_Array::value($params['honor_prefix_id'], $individualPrefix);
$params["honor_type"] = CRM_Utils_Array::value($params["honor_type_id"], $honor);
}
// retrieve premium product name and assigned fulfilled
// date to template
if (CRM_Utils_Array::value('hidden_Premium', $params)) {
if (CRM_Utils_Array::value($params['product_name'][0], $form->_options)) {
$params['product_option'] = $form->_options[$params['product_name'][0]][$params['product_name'][1]];
}
//fix for crm-4584
if (!empty($params['product_name'])) {
require_once 'CRM/Contribute/DAO/Product.php';
$productDAO = new CRM_Contribute_DAO_Product();
$productDAO->id = $params['product_name'][0];
$productDAO->find(true);
$params['product_name'] = $productDAO->name;
$params['product_sku'] = $productDAO->sku;
}
$this->assign('fulfilled_date', CRM_Utils_Date::processDate($params['fulfilled_date']));
}
$this->assign('ccContribution', $ccContribution);
if ($ccContribution) {
//build the name.
$name = CRM_Utils_Array::value('billing_first_name', $params);
if (CRM_Utils_Array::value('billing_middle_name', $params)) {
$name .= " {$params['billing_middle_name']}";
}
$name .= ' ' . CRM_Utils_Array::value('billing_last_name', $params);
$name = trim($name);
$this->assign('billingName', $name);
//assign the address formatted up for display
$addressParts = array("street_address" => "billing_street_address-{$form->_bltID}", "city" => "billing_city-{$form->_bltID}", "postal_code" => "billing_postal_code-{$form->_bltID}", "state_province" => "state_province-{$form->_bltID}", "country" => "country-{$form->_bltID}");
$addressFields = array();
foreach ($addressParts as $name => $field) {
$addressFields[$name] = CRM_Utils_Array::value($field, $params);
}
require_once 'CRM/Utils/Address.php';
$this->assign('address', CRM_Utils_Address::format($addressFields));
$date = CRM_Utils_Date::format($params['credit_card_exp_date']);
$date = CRM_Utils_Date::mysqlToIso($date);
$this->assign('credit_card_type', CRM_Utils_Array::value('credit_card_type', $params));
$this->assign('credit_card_exp_date', $date);
$this->assign('credit_card_number', CRM_Utils_System::mungeCreditCard($params['credit_card_number']));
} else {
//offline contribution
//Retrieve the name and email from receipt is to be send
$params['receipt_from_name'] = $form->userDisplayName;
$params['receipt_from_email'] = $form->userEmail;
// assigned various dates to the templates
$form->assign('receipt_date', CRM_Utils_Date::processDate($params['receipt_date']));
$form->assign('cancel_date', CRM_Utils_Date::processDate($params['cancel_date']));
if (CRM_Utils_Array::value('thankyou_date', $params)) {
$form->assign('thankyou_date', CRM_Utils_Date::processDate($params['thankyou_date']));
}
if ($form->_action & CRM_Core_Action::UPDATE) {
$form->assign('lineItem', empty($form->_lineItems) ? false : $form->_lineItems);
}
}
//handle custom data
if (CRM_Utils_Array::value('hidden_custom', $params)) {
$contribParams = array(array('contribution_id', '=', $params['contribution_id'], 0, 0));
if ($form->_mode == 'test') {
$contribParams[] = array('contribution_test', '=', 1, 0, 0);
}
//retrieve custom data
require_once "CRM/Core/BAO/UFGroup.php";
$customGroup = array();
foreach ($form->_groupTree as $groupID => $group) {
$customFields = $customValues = array();
if ($groupID == 'info') {
continue;
}
foreach ($group['fields'] as $k => $field) {
$field['title'] = $field['label'];
$customFields["custom_{$k}"] = $field;
}
//build the array of customgroup contain customfields.
CRM_Core_BAO_UFGroup::getValues($params['contact_id'], $customFields, $customValues, false, $contribParams);
$customGroup[$group['title']] = $customValues;
}
//assign all custom group and corresponding fields to template.
$form->assign('customGroup', $customGroup);
}
$form->assign_by_ref('formValues', $params);
require_once 'CRM/Contact/BAO/Contact/Location.php';
require_once 'CRM/Utils/Mail.php';
list($contributorDisplayName, $contributorEmail) = CRM_Contact_BAO_Contact_Location::getEmailDetails($params['contact_id']);
$this->assign('contactID', $params['contact_id']);
$this->assign('contributionID', $params['contribution_id']);
$this->assign('currency', $params['currency']);
$this->assign('receive_date', CRM_Utils_Date::processDate($params['receive_date']));
$session = CRM_Core_Session::singleton();
$userID = $session->get('userID');
list($userName, $userEmail) = CRM_Contact_BAO_Contact_Location::getEmailDetails($userID);
require_once 'CRM/Core/BAO/MessageTemplates.php';
list($sendReceipt, $subject, $message, $html) = CRM_Core_BAO_MessageTemplates::sendTemplate(array('groupName' => 'msg_tpl_workflow_contribution', 'valueName' => 'contribution_offline_receipt', 'contactId' => $params['contact_id'], 'from' => "{$userName} <{$userEmail}>", 'toName' => $contributorDisplayName, 'toEmail' => $contributorEmail, 'isTest' => $form->_mode == 'test'));
return $sendReceipt;
}
示例12: run
/**
* Run the page.
*
* This method is called after the page is created. It checks for the
* type of action and executes that action.
*
* @return void
* @access public
*
*/
function run()
{
$template = CRM_Core_Smarty::singleton();
if ($this->_id && $this->_gid) {
// first check that id is part of the limit group id, CRM-4822
$limitListingsGroupsID = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_UFGroup', $this->_gid, 'limit_listings_group_id');
$config = CRM_Core_Config::singleton();
if ($limitListingsGroupsID) {
require_once 'CRM/Contact/BAO/GroupContact.php';
if (!CRM_Contact_BAO_GroupContact::isContactInGroup($this->_id, $limitListingsGroupsID)) {
CRM_Utils_System::setTitle(ts('Profile View - Permission Denied'));
return CRM_Core_Session::setStatus(ts('You do not have permission to view this contact record. Contact the site administrator if you need assistance.'));
}
}
require_once 'CRM/Core/BAO/UFGroup.php';
$values = array();
$fields = CRM_Core_BAO_UFGroup::getFields($this->_profileIds, false, CRM_Core_Action::VIEW, null, null, false, $this->_restrict, $this->_skipPermission, null, CRM_Core_Permission::VIEW);
require_once 'CRM/Contact/BAO/Contact/Permission.php';
// make sure we dont expose all fields based on permission
$admin = false;
$session = CRM_Core_Session::singleton();
if (!$config->userFrameworkFrontend && (CRM_Core_Permission::check('administer users') || CRM_Core_Permission::check('view all contacts') || CRM_Contact_BAO_Contact_Permission::allow($this->_id, CRM_Core_Permission::VIEW)) || $this->_id == $session->get('userID')) {
$admin = true;
}
if (!$admin) {
foreach ($fields as $name => $field) {
// make sure that there is enough permission to expose this field
if ($field['visibility'] == 'User and User Admin Only') {
unset($fields[$name]);
}
}
}
CRM_Core_BAO_UFGroup::getValues($this->_id, $fields, $values);
// $profileFields array can be used for customized display of field labels and values in Profile/View.tpl
$profileFields = array();
$labels = array();
foreach ($fields as $name => $field) {
$labels[$field['title']] = preg_replace('/\\s+|\\W+/', '_', $name);
}
foreach ($values as $title => $value) {
$profileFields[$labels[$title]] = array('label' => $title, 'value' => $value);
}
$template->assign_by_ref('row', $values);
$template->assign_by_ref('profileFields', $profileFields);
}
$name = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_UFGroup', $this->_gid, 'name');
if (strtolower($name) == 'summary_overlay') {
$template->assign('overlayProfile', true);
}
$title = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_UFGroup', $this->_gid, 'title');
//CRM-4131.
$displayName = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $this->_id, 'display_name');
if ($displayName) {
require_once 'CRM/Core/Permission.php';
require_once 'CRM/Contact/BAO/Contact/Permission.php';
$session = CRM_Core_Session::singleton();
$config = CRM_Core_Config::singleton();
if ($session->get('userID') && CRM_Core_Permission::check('access CiviCRM') && CRM_Contact_BAO_Contact_Permission::allow($session->get('userID'), CRM_Core_Permission::VIEW) && !$config->userFrameworkFrontend) {
$contactViewUrl = CRM_Utils_System::url('civicrm/contact/view', "action=view&reset=1&cid={$this->_id}", true);
$this->assign('displayName', $displayName);
$displayName = "<a href=\"{$contactViewUrl}\">{$displayName}</a>";
}
$title .= ' - ' . $displayName;
}
CRM_Utils_System::setTitle($title);
// invoke the pagRun hook, CRM-3906
require_once 'CRM/Utils/Hook.php';
CRM_Utils_Hook::pageRun($this);
return trim($template->fetch($this->getTemplateFileName()));
}
示例13: run
/**
* Run the page.
*
* This method is called after the page is created. It checks for the
* type of action and executes that action.
*
* @return void
* @access public
*
*/
function run()
{
$template =& CRM_Core_Smarty::singleton();
if ($this->_id && $this->_gid) {
require_once 'CRM/Core/BAO/UFGroup.php';
$values = array();
$fields = CRM_Core_BAO_UFGroup::getFields($this->_gid, false, CRM_CORE_ACTION_VIEW);
// make sure we dont expose all fields based on permission
$admin = false;
$session =& CRM_Core_Session::singleton();
if (CRM_Utils_System::checkPermission('administer users') || $this->_id == $session->get('userID')) {
$admin = true;
}
if (!$admin) {
foreach ($fields as $name => $field) {
// make sure that there is enough permission to expose this field
if ($field['visibility'] == 'User and User Admin Only') {
unset($fields[$name]);
}
}
}
CRM_Core_BAO_UFGroup::getValues($this->_id, $fields, $values);
$template->assign_by_ref('row', $values);
}
return trim($template->fetch('CRM/Profile/Page/Dynamic.tpl'));
}
示例14: formatHonoreeProfileFields
/**
* Function to assign honor profile fields to template/form, if $honorId (as soft-credit's contact_id)
* is passed then whole honoreeprofile fields with title/value assoc array assigned or only honoreeName
* is assigned
*
* @param CRM_Core_Form $form
* @param array $params
* @param int $honoreeprofileId
* @param int $honorId
*/
public static function formatHonoreeProfileFields($form, $params, $honoreeprofileId, $honorId = NULL)
{
$profileContactType = CRM_Core_BAO_UFGroup::getContactType($honoreeprofileId);
$profileFields = CRM_Core_BAO_UFGroup::getFields($honoreeprofileId);
$honoreeProfileFields = $values = array();
$honorName = NULL;
if ($honorId) {
CRM_Core_BAO_UFGroup::getValues($honorId, $profileFields, $values, FALSE, $params);
if (empty($params)) {
foreach ($profileFields as $name => $field) {
$title = $field['title'];
$params[$field['name']] = $values[$title];
}
}
}
//remove name related fields and construct name string with prefix/suffix
//which will be later assigned to template
switch ($profileContactType) {
case 'Individual':
if (array_key_exists('prefix_id', $params)) {
$honorName = CRM_Utils_Array::value(CRM_Utils_Array::value('prefix_id', $params), CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'prefix_id'));
unset($profileFields['prefix_id']);
}
$honorName .= ' ' . $params['first_name'] . ' ' . $params['last_name'];
unset($profileFields['first_name']);
unset($profileFields['last_name']);
if (array_key_exists('suffix_id', $params)) {
$honorName .= ' ' . CRM_Utils_Array::value(CRM_Utils_Array::value('suffix_id', $params), CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'suffix_id'));
unset($profileFields['suffix_id']);
}
break;
case 'Organization':
$honorName = $params['organization_name'];
unset($profileFields['organization_name']);
break;
case 'Household':
$honorName = $params['household_name'];
unset($profileFields['household_name']);
break;
}
if ($honorId) {
$honoreeProfileFields['Name'] = $honorName;
foreach ($profileFields as $name => $field) {
$title = $field['title'];
$honoreeProfileFields[$title] = $values[$title];
}
$form->assign('honoreeProfile', $honoreeProfileFields);
} else {
$form->assign('honorName', $honorName);
}
}
示例15: emailReceipt
//.........这里部分代码省略.........
// date to template
if (!empty($params['hidden_Premium'])) {
if (isset($params['product_name']) && is_array($params['product_name']) && !empty($params['product_name'])) {
$productDAO = new CRM_Contribute_DAO_Product();
$productDAO->id = $params['product_name'][0];
$productOptionID = $params['product_name'][1];
$productDAO->find(TRUE);
$params['product_name'] = $productDAO->name;
$params['product_sku'] = $productDAO->sku;
if (empty($params['product_option']) && !empty($form->_options[$productDAO->id])) {
$params['product_option'] = $form->_options[$productDAO->id][$productOptionID];
}
}
if (!empty($params['fulfilled_date'])) {
$form->assign('fulfilled_date', CRM_Utils_Date::processDate($params['fulfilled_date']));
}
}
$form->assign('ccContribution', $ccContribution);
if ($ccContribution) {
//build the name.
$name = CRM_Utils_Array::value('billing_first_name', $params);
if (!empty($params['billing_middle_name'])) {
$name .= " {$params['billing_middle_name']}";
}
$name .= ' ' . CRM_Utils_Array::value('billing_last_name', $params);
$name = trim($name);
$form->assign('billingName', $name);
//assign the address formatted up for display
$addressParts = array("street_address" => "billing_street_address-{$form->_bltID}", "city" => "billing_city-{$form->_bltID}", "postal_code" => "billing_postal_code-{$form->_bltID}", "state_province" => "state_province-{$form->_bltID}", "country" => "country-{$form->_bltID}");
$addressFields = array();
foreach ($addressParts as $name => $field) {
$addressFields[$name] = CRM_Utils_Array::value($field, $params);
}
$form->assign('address', CRM_Utils_Address::format($addressFields));
$date = CRM_Utils_Date::format($params['credit_card_exp_date']);
$date = CRM_Utils_Date::mysqlToIso($date);
$form->assign('credit_card_type', CRM_Utils_Array::value('credit_card_type', $params));
$form->assign('credit_card_exp_date', $date);
$form->assign('credit_card_number', CRM_Utils_System::mungeCreditCard($params['credit_card_number']));
} else {
//offline contribution
// assigned various dates to the templates
$form->assign('receipt_date', CRM_Utils_Date::processDate($params['receipt_date']));
if (!empty($params['cancel_date'])) {
$form->assign('cancel_date', CRM_Utils_Date::processDate($params['cancel_date']));
}
if (!empty($params['thankyou_date'])) {
$form->assign('thankyou_date', CRM_Utils_Date::processDate($params['thankyou_date']));
}
if ($form->_action & CRM_Core_Action::UPDATE) {
$form->assign('lineItem', empty($form->_lineItems) ? FALSE : $form->_lineItems);
}
}
//handle custom data
if (!empty($params['hidden_custom'])) {
$contribParams = array(array('contribution_id', '=', $params['contribution_id'], 0, 0));
if ($form->_mode == 'test') {
$contribParams[] = array('contribution_test', '=', 1, 0, 0);
}
//retrieve custom data
$customGroup = array();
foreach ($form->_groupTree as $groupID => $group) {
$customFields = $customValues = array();
if ($groupID == 'info') {
continue;
}
foreach ($group['fields'] as $k => $field) {
$field['title'] = $field['label'];
$customFields["custom_{$k}"] = $field;
}
//build the array of customgroup contain customfields.
CRM_Core_BAO_UFGroup::getValues($params['contact_id'], $customFields, $customValues, FALSE, $contribParams);
$customGroup[$group['title']] = $customValues;
}
//assign all custom group and corresponding fields to template.
$form->assign('customGroup', $customGroup);
}
$form->assign_by_ref('formValues', $params);
list($contributorDisplayName, $contributorEmail) = CRM_Contact_BAO_Contact_Location::getEmailDetails($params['contact_id']);
$form->assign('contactID', $params['contact_id']);
$form->assign('contributionID', $params['contribution_id']);
if (!empty($params['currency'])) {
$form->assign('currency', $params['currency']);
}
if (!empty($params['receive_date'])) {
$form->assign('receive_date', CRM_Utils_Date::processDate($params['receive_date']));
}
$template = CRM_Core_Smarty::singleton();
$taxAmt = $template->get_template_vars('dataArray');
$eventTaxAmt = $template->get_template_vars('totalTaxAmount');
$prefixValue = Civi::settings()->get('contribution_invoice_settings');
$invoicing = CRM_Utils_Array::value('invoicing', $prefixValue);
if ((!empty($taxAmt) || isset($eventTaxAmt)) && (isset($invoicing) && isset($prefixValue['is_email_pdf']))) {
$isEmailPdf = TRUE;
} else {
$isEmailPdf = FALSE;
}
list($sendReceipt, $subject, $message, $html) = CRM_Core_BAO_MessageTemplate::sendTemplate(array('groupName' => 'msg_tpl_workflow_contribution', 'valueName' => 'contribution_offline_receipt', 'contactId' => $params['contact_id'], 'contributionId' => $params['contribution_id'], 'from' => $params['from_email_address'], 'toName' => $contributorDisplayName, 'toEmail' => $contributorEmail, 'isTest' => $form->_mode == 'test', 'PDFFilename' => ts('receipt') . '.pdf', 'isEmailPdf' => $isEmailPdf));
return $sendReceipt;
}