本文整理汇总了PHP中CRM_Contribute_BAO_Contribution::updateRelatedPledge方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Contribute_BAO_Contribution::updateRelatedPledge方法的具体用法?PHP CRM_Contribute_BAO_Contribution::updateRelatedPledge怎么用?PHP CRM_Contribute_BAO_Contribution::updateRelatedPledge使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Contribute_BAO_Contribution
的用法示例。
在下文中一共展示了CRM_Contribute_BAO_Contribution::updateRelatedPledge方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: submit
//.........这里部分代码省略.........
unset($formValues[$key]);
}
}
$contribution = $this->processCreditCard($formValues, $lineItem, $this->_contactID);
foreach ($paramsSetByPaymentProcessingSubsystem as $key) {
$formValues[$key] = $contribution->{$key};
}
} else {
// Offline Contribution.
$submittedValues = $this->unsetCreditCardFields($submittedValues);
// get the required field value only.
$params = $ids = array();
$params['contact_id'] = $this->_contactID;
$params['currency'] = $this->getCurrency($submittedValues);
//format soft-credit/pcp param first
CRM_Contribute_BAO_ContributionSoft::formatSoftCreditParams($submittedValues, $this);
$params = array_merge($params, $submittedValues);
$fields = array('financial_type_id', 'contribution_status_id', 'payment_instrument_id', 'cancel_reason', 'source', 'check_number');
foreach ($fields as $f) {
$params[$f] = CRM_Utils_Array::value($f, $formValues);
}
// CRM-5740 if priceset is used, no need to cleanup money.
if ($priceSetId) {
$params['skipCleanMoney'] = 1;
}
$dates = array('receive_date', 'receipt_date', 'cancel_date');
foreach ($dates as $d) {
$params[$d] = CRM_Utils_Date::processDate($formValues[$d], $formValues[$d . '_time'], TRUE);
}
if (!empty($formValues['is_email_receipt'])) {
$params['receipt_date'] = date("Y-m-d");
}
if ($params['contribution_status_id'] == CRM_Core_OptionGroup::getValue('contribution_status', 'Cancelled', 'name') || $params['contribution_status_id'] == CRM_Core_OptionGroup::getValue('contribution_status', 'Refunded', 'name')) {
if (CRM_Utils_System::isNull(CRM_Utils_Array::value('cancel_date', $params))) {
$params['cancel_date'] = date('YmdHis');
}
} else {
$params['cancel_date'] = $params['cancel_reason'] = 'null';
}
// Set is_pay_later flag for back-office offline Pending status contributions CRM-8996
// else if contribution_status is changed to Completed is_pay_later flag is changed to 0, CRM-15041
if ($params['contribution_status_id'] == CRM_Core_OptionGroup::getValue('contribution_status', 'Pending', 'name')) {
$params['is_pay_later'] = 1;
} elseif ($params['contribution_status_id'] == CRM_Core_OptionGroup::getValue('contribution_status', 'Completed', 'name')) {
$params['is_pay_later'] = 0;
}
$ids['contribution'] = $params['id'] = $this->_id;
// Add Additional common information to formatted params.
CRM_Contribute_Form_AdditionalInfo::postProcessCommon($formValues, $params, $this);
if ($pId) {
$params['contribution_mode'] = 'participant';
$params['participant_id'] = $pId;
$params['skipLineItem'] = 1;
} elseif ($isRelatedId) {
$params['contribution_mode'] = 'membership';
}
$params['line_item'] = $lineItem;
$params['payment_processor_id'] = $params['payment_processor'] = CRM_Utils_Array::value('id', $this->_paymentProcessor);
if (isset($submittedValues['tax_amount'])) {
$params['tax_amount'] = $submittedValues['tax_amount'];
}
//create contribution.
if ($isQuickConfig) {
$params['is_quick_config'] = 1;
}
$params['non_deductible_amount'] = $this->calculateNonDeductibleAmount($params, $formValues);
// we are already handling note below, so to avoid duplicate notes against $contribution
if (!empty($params['note']) && !empty($submittedValues['note'])) {
unset($params['note']);
}
$contribution = CRM_Contribute_BAO_Contribution::create($params, $ids);
// process associated membership / participant, CRM-4395
if ($contribution->id && $action & CRM_Core_Action::UPDATE) {
$this->statusMessage[] = $this->updateRelatedComponent($contribution->id, $contribution->contribution_status_id, CRM_Utils_Array::value('contribution_status_id', $this->_values), $contribution->receive_date);
}
array_unshift($this->statusMessage, ts('The contribution record has been saved.'));
$this->invoicingPostProcessHook($submittedValues, $action, $lineItem);
//send receipt mail.
if ($contribution->id && !empty($formValues['is_email_receipt'])) {
$formValues['contact_id'] = $this->_contactID;
$formValues['contribution_id'] = $contribution->id;
$formValues += CRM_Contribute_BAO_ContributionSoft::getSoftContribution($contribution->id);
// to get 'from email id' for send receipt
$this->fromEmailId = $formValues['from_email_address'];
if (CRM_Contribute_Form_AdditionalInfo::emailReceipt($this, $formValues)) {
$this->statusMessage[] = ts('A receipt has been emailed to the contributor.');
}
}
$this->statusMessageTitle = ts('Saved');
}
if ($contribution->id && isset($formValues['product_name'][0])) {
CRM_Contribute_Form_AdditionalInfo::processPremium($submittedValues, $contribution->id, $this->_premiumID, $this->_options);
}
if ($contribution->id && !empty($submittedValues['note'])) {
CRM_Contribute_Form_AdditionalInfo::processNote($submittedValues, $this->_contactID, $contribution->id, $this->_noteID);
}
CRM_Core_Session::setStatus(implode(' ', $this->statusMessage), $this->statusMessageTitle, 'success');
CRM_Contribute_BAO_Contribution::updateRelatedPledge($action, $pledgePaymentID, $contribution->id, CRM_Utils_Array::value('option_type', $formValues) == 2 ? TRUE : FALSE, $formValues['total_amount'], CRM_Utils_Array::value('total_amount', $this->_defaults), $formValues['contribution_status_id'], CRM_Utils_Array::value('contribution_status_id', $this->_defaults));
return $contribution;
}
示例2: submit
//.........这里部分代码省略.........
unset($formValues[$key]);
}
}
$contribution = $this->processCreditCard($formValues, $lineItem, $this->_contactID);
foreach ($paramsSetByPaymentProcessingSubsystem as $key) {
$formValues[$key] = $contribution->{$key};
}
} else {
// Offline Contribution.
$submittedValues = $this->unsetCreditCardFields($submittedValues);
// get the required field value only.
$params = $ids = array();
$params['contact_id'] = $this->_contactID;
$params['currency'] = $this->getCurrency($submittedValues);
$fields = array('financial_type_id', 'contribution_status_id', 'payment_instrument_id', 'cancel_reason', 'source', 'check_number');
foreach ($fields as $f) {
$params[$f] = CRM_Utils_Array::value($f, $formValues);
}
if (!empty($pcp)) {
$params['pcp'] = $pcp;
}
if (!empty($softParams)) {
$params['soft_credit'] = $softParams;
$params['soft_credit_ids'] = $softIDs;
}
// CRM-5740 if priceset is used, no need to cleanup money.
if ($priceSetId) {
$params['skipCleanMoney'] = 1;
}
$dates = array('receive_date', 'receipt_date', 'cancel_date');
foreach ($dates as $d) {
$params[$d] = CRM_Utils_Date::processDate($formValues[$d], $formValues[$d . '_time'], TRUE);
}
if (!empty($formValues['is_email_receipt'])) {
$params['receipt_date'] = date("Y-m-d");
}
if ($params['contribution_status_id'] == CRM_Core_OptionGroup::getValue('contribution_status', 'Cancelled', 'name') || $params['contribution_status_id'] == CRM_Core_OptionGroup::getValue('contribution_status', 'Refunded', 'name')) {
if (CRM_Utils_System::isNull(CRM_Utils_Array::value('cancel_date', $params))) {
$params['cancel_date'] = date('Y-m-d');
}
} else {
$params['cancel_date'] = $params['cancel_reason'] = 'null';
}
// Set is_pay_later flag for back-office offline Pending status contributions CRM-8996
// else if contribution_status is changed to Completed is_pay_later flag is changed to 0, CRM-15041
if ($params['contribution_status_id'] == CRM_Core_OptionGroup::getValue('contribution_status', 'Pending', 'name')) {
$params['is_pay_later'] = 1;
} elseif ($params['contribution_status_id'] == CRM_Core_OptionGroup::getValue('contribution_status', 'Completed', 'name')) {
$params['is_pay_later'] = 0;
}
$ids['contribution'] = $params['id'] = $this->_id;
// Add Additional common information to formatted params.
CRM_Contribute_Form_AdditionalInfo::postProcessCommon($formValues, $params, $this);
if ($pId) {
$params['contribution_mode'] = 'participant';
$params['participant_id'] = $pId;
$params['skipLineItem'] = 1;
} elseif ($isRelatedId) {
$params['contribution_mode'] = 'membership';
}
$params['line_item'] = $lineItem;
$params['payment_processor_id'] = $params['payment_processor'] = CRM_Utils_Array::value('id', $this->_paymentProcessor);
if (isset($submittedValues['tax_amount'])) {
$params['tax_amount'] = $submittedValues['tax_amount'];
}
//create contribution.
if ($isQuickConfig) {
$params['is_quick_config'] = 1;
}
$params['non_deductible_amount'] = $this->calculateNonDeductibleAmount($params, $formValues);
$contribution = CRM_Contribute_BAO_Contribution::create($params, $ids);
// process associated membership / participant, CRM-4395
if ($contribution->id && $action & CRM_Core_Action::UPDATE) {
$this->statusMessage[] = $this->updateRelatedComponent($contribution->id, $contribution->contribution_status_id, CRM_Utils_Array::value('contribution_status_id', $this->_values), $contribution->receive_date);
}
array_unshift($this->statusMessage, ts('The contribution record has been saved.'));
$this->invoicingPostProcessHook($submittedValues, $action, $lineItem);
//send receipt mail.
if ($contribution->id && !empty($formValues['is_email_receipt'])) {
$formValues['contact_id'] = $this->_contactID;
$formValues['contribution_id'] = $contribution->id;
$formValues += CRM_Contribute_BAO_ContributionSoft::getSoftContribution($contribution->id);
// to get 'from email id' for send receipt
$this->fromEmailId = $formValues['from_email_address'];
if (CRM_Contribute_Form_AdditionalInfo::emailReceipt($this, $formValues)) {
$this->statusMessage[] = ts('A receipt has been emailed to the contributor.');
}
}
$this->statusMessageTitle = ts('Saved');
}
if ($contribution->id && !empty($formValues['product_name'][0])) {
CRM_Contribute_Form_AdditionalInfo::processPremium($submittedValues, $contribution->id, $this->_premiumID, $this->_options);
}
if ($contribution->id && isset($submittedValues['note'])) {
CRM_Contribute_Form_AdditionalInfo::processNote($submittedValues, $this->_contactID, $contribution->id, $this->_noteID);
}
CRM_Core_Session::setStatus(implode(' ', $this->statusMessage), $this->statusMessageTitle, 'success');
CRM_Contribute_BAO_Contribution::updateRelatedPledge($action, $pledgePaymentID, $contribution->id, CRM_Utils_Array::value('option_type', $formValues) == 2 ? TRUE : FALSE, $formValues['total_amount'], CRM_Utils_Array::value('total_amount', $this->_defaults), $formValues['contribution_status_id'], CRM_Utils_Array::value('contribution_status_id', $this->_defaults));
return $contribution;
}