本文整理汇总了PHP中CRM_Event_DAO_Participant::free方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Event_DAO_Participant::free方法的具体用法?PHP CRM_Event_DAO_Participant::free怎么用?PHP CRM_Event_DAO_Participant::free使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Event_DAO_Participant
的用法示例。
在下文中一共展示了CRM_Event_DAO_Participant::free方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _assignMessageVariablesToTemplate
//.........这里部分代码省略.........
$template->assign('pcpBlock', TRUE);
$template->assign('pcp_display_in_roll', $softDAO->pcp_display_in_roll);
$template->assign('pcp_roll_nickname', $softDAO->pcp_roll_nickname);
$template->assign('pcp_personal_note', $softDAO->pcp_personal_note);
//assign the pcp page title for email subject
$pcpDAO = new CRM_PCP_DAO_PCP();
$pcpDAO->id = $softDAO->pcp_id;
if ($pcpDAO->find(TRUE)) {
$template->assign('title', $pcpDAO->title);
}
}
}
if ($this->financial_type_id) {
$values['financial_type_id'] = $this->financial_type_id;
}
$template->assign('trxn_id', $this->trxn_id);
$template->assign('receive_date', CRM_Utils_Date::mysqlToIso($this->receive_date));
$template->assign('contributeMode', 'notify');
$template->assign('action', $this->is_test ? 1024 : 1);
$template->assign('receipt_text', CRM_Utils_Array::value('receipt_text', $values));
$template->assign('is_monetary', 1);
$template->assign('is_recur', (bool) $recur);
$template->assign('currency', $this->currency);
$template->assign('address', CRM_Utils_Address::format($input));
if (!empty($values['customGroup'])) {
$template->assign('customGroup', $values['customGroup']);
}
if ($this->_component == 'event') {
$template->assign('title', $values['event']['title']);
$participantRoles = CRM_Event_PseudoConstant::participantRole();
$viewRoles = array();
foreach (explode(CRM_Core_DAO::VALUE_SEPARATOR, $this->_relatedObjects['participant']->role_id) as $k => $v) {
$viewRoles[] = $participantRoles[$v];
}
$values['event']['participant_role'] = implode(', ', $viewRoles);
$template->assign('event', $values['event']);
$template->assign('participant', $values['participant']);
$template->assign('location', $values['location']);
$template->assign('customPre', $values['custom_pre_id']);
$template->assign('customPost', $values['custom_post_id']);
$isTest = FALSE;
if ($this->_relatedObjects['participant']->is_test) {
$isTest = TRUE;
}
$values['params'] = array();
//to get email of primary participant.
$primaryEmail = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Email', $this->_relatedObjects['participant']->contact_id, 'email', 'contact_id');
$primaryAmount[] = array('label' => $this->_relatedObjects['participant']->fee_level . ' - ' . $primaryEmail, 'amount' => $this->_relatedObjects['participant']->fee_amount);
//build an array of cId/pId of participants
$additionalIDs = CRM_Event_BAO_Event::buildCustomProfile($this->_relatedObjects['participant']->id, NULL, $this->_relatedObjects['contact']->id, $isTest, TRUE);
unset($additionalIDs[$this->_relatedObjects['participant']->id]);
//send receipt to additional participant if exists
if (count($additionalIDs)) {
$template->assign('isPrimary', 0);
$template->assign('customProfile', NULL);
//set additionalParticipant true
$values['params']['additionalParticipant'] = TRUE;
foreach ($additionalIDs as $pId => $cId) {
$amount = array();
//to change the status pending to completed
$additional = new CRM_Event_DAO_Participant();
$additional->id = $pId;
$additional->contact_id = $cId;
$additional->find(TRUE);
$additional->register_date = $this->_relatedObjects['participant']->register_date;
$additional->status_id = 1;
$additionalParticipantInfo = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Email', $additional->contact_id, 'email', 'contact_id');
//if additional participant dont have email
//use display name.
if (!$additionalParticipantInfo) {
$additionalParticipantInfo = CRM_Contact_BAO_Contact::displayName($additional->contact_id);
}
$amount[0] = array('label' => $additional->fee_level, 'amount' => $additional->fee_amount);
$primaryAmount[] = array('label' => $additional->fee_level . ' - ' . $additionalParticipantInfo, 'amount' => $additional->fee_amount);
$additional->save();
$additional->free();
$template->assign('amount', $amount);
CRM_Event_BAO_Event::sendMail($cId, $values, $pId, $isTest, $returnMessageText);
}
}
//build an array of custom profile and assigning it to template
$customProfile = CRM_Event_BAO_Event::buildCustomProfile($this->_relatedObjects['participant']->id, $values, NULL, $isTest);
if (count($customProfile)) {
$template->assign('customProfile', $customProfile);
}
// for primary contact
$values['params']['additionalParticipant'] = FALSE;
$template->assign('isPrimary', 1);
$template->assign('amount', $primaryAmount);
$template->assign('register_date', CRM_Utils_Date::isoToMysql($this->_relatedObjects['participant']->register_date));
if ($this->payment_instrument_id) {
$paymentInstrument = CRM_Contribute_PseudoConstant::paymentInstrument();
$template->assign('paidBy', $paymentInstrument[$this->payment_instrument_id]);
}
// carry paylater, since we did not created billing,
// so need to pull email from primary location, CRM-4395
$values['params']['is_pay_later'] = $this->_relatedObjects['participant']->is_pay_later;
}
return $template;
}
示例2: sendMail
//.........这里部分代码省略.........
$values['event']['participant_role'] = $participant_role[$participant->role_id];
$template->assign('event', $values['event']);
$template->assign('location', $values['location']);
$template->assign('customPre', $values['custom_pre_id']);
$template->assign('customPost', $values['custom_post_id']);
$isTest = false;
if ($participant->is_test) {
$isTest = true;
}
$values['params'] = array();
require_once "CRM/Event/BAO/Event.php";
//to get email of primary participant.
$primaryEmail = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Email', $participant->contact_id, 'email', 'contact_id');
$primaryAmount[] = array('label' => $participant->fee_level . ' - ' . $primaryEmail, 'amount' => $participant->fee_amount);
//build an array of cId/pId of participants
$additionalIDs = CRM_Event_BAO_Event::buildCustomProfile($participant->id, null, $ids['contact'], $isTest, true);
unset($additionalIDs[$participant->id]);
//send receipt to additional participant if exists
if (count($additionalIDs)) {
$template->assign('isPrimary', 0);
$template->assign('customProfile', null);
//set additionalParticipant true
$values['params']['additionalParticipant'] = true;
foreach ($additionalIDs as $pId => $cId) {
$amount = array();
//to change the status pending to completed
$additional = new CRM_Event_DAO_Participant();
$additional->id = $pId;
$additional->contact_id = $cId;
$additional->find(true);
$additional->register_date = $participant->register_date;
$additional->status_id = 1;
$additionalParticipantInfo = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Email', $additional->contact_id, 'email', 'contact_id');
//if additional participant dont have email
//use display name.
if (!$additionalParticipantInfo) {
require_once "CRM/Contact/BAO/Contact.php";
$additionalParticipantInfo = CRM_Contact_BAO_Contact::displayName($additional->contact_id);
}
$amount[0] = array('label' => $additional->fee_level, 'amount' => $additional->fee_amount);
$primaryAmount[] = array('label' => $additional->fee_level . ' - ' . $additionalParticipantInfo, 'amount' => $additional->fee_amount);
$additional->save();
$additional->free();
$template->assign('amount', $amount);
CRM_Event_BAO_Event::sendMail($cId, $values, $pId, $isTest, $returnMessageText);
}
}
//build an array of custom profile and assigning it to template
$customProfile = CRM_Event_BAO_Event::buildCustomProfile($participant->id, $values, null, $isTest);
if (count($customProfile)) {
$template->assign('customProfile', $customProfile);
}
// for primary contact
$values['params']['additionalParticipant'] = false;
$template->assign('isPrimary', 1);
$template->assign('amount', $primaryAmount);
$template->assign('register_date', CRM_Utils_Date::isoToMysql($participant->register_date));
if ($contribution->payment_instrument_id) {
require_once 'CRM/Contribute/PseudoConstant.php';
$paymentInstrument = CRM_Contribute_PseudoConstant::paymentInstrument();
$template->assign('paidBy', $paymentInstrument[$contribution->payment_instrument_id]);
}
// carry paylater, since we did not created billing,
// so need to pull email from primary location, CRM-4395
$values['params']['is_pay_later'] = $participant->is_pay_later;
return CRM_Event_BAO_Event::sendMail($ids['contact'], $values, $participant->id, $isTest, $returnMessageText);
} else {
if ($membership) {
$values['membership_id'] = $membership->id;
// need to set the membership values here
$template->assign('membership_assign', 1);
require_once 'CRM/Member/PseudoConstant.php';
$template->assign('membership_name', CRM_Member_PseudoConstant::membershipType($membership->membership_type_id));
$template->assign('mem_start_date', $membership->start_date);
$template->assign('mem_end_date', $membership->end_date);
// if separate payment there are two contributions recorded and the
// admin will need to send a receipt for each of them separately.
// we dont link the two in the db (but can potentially infer it if needed)
$template->assign('is_separate_payment', 0);
}
$values['contribution_id'] = $contribution->id;
if (CRM_Utils_Array::value('related_contact', $ids)) {
$values['related_contact'] = $ids['related_contact'];
if (isset($ids['onbehalf_dupe_alert'])) {
$values['onbehalf_dupe_alert'] = $ids['onbehalf_dupe_alert'];
}
require_once 'CRM/Core/BAO/Address.php';
$entityBlock = array('contact_id' => $ids['contact'], 'location_type_id' => CRM_Core_DAO::getFieldValue('CRM_Core_DAO_LocationType', 'Home', 'id', 'name'));
$address = CRM_Core_BAO_Address::getValues($entityBlock);
$template->assign('onBehalfAddress', $address[$entityBlock['location_type_id']]['display']);
}
$isTest = false;
if ($contribution->is_test) {
$isTest = true;
}
// CRM_Core_Error::debug('val',$values);
require_once 'CRM/Contribute/BAO/ContributionPage.php';
return CRM_Contribute_BAO_ContributionPage::sendMail($ids['contact'], $values, $isTest, $returnMessageText);
}
}