本文整理汇总了PHP中CRM_Pledge_BAO_Pledge::getPledgeStartDate方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Pledge_BAO_Pledge::getPledgeStartDate方法的具体用法?PHP CRM_Pledge_BAO_Pledge::getPledgeStartDate怎么用?PHP CRM_Pledge_BAO_Pledge::getPledgeStartDate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Pledge_BAO_Pledge
的用法示例。
在下文中一共展示了CRM_Pledge_BAO_Pledge::getPledgeStartDate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: processFormSubmission
/**
* Post form submission handling.
*
* This is also called from the test suite.
*
* @param int $contactID
*
* @return array
*/
protected function processFormSubmission($contactID)
{
$isPayLater = $this->_params['is_pay_later'];
if (!isset($this->_params['payment_processor_id'])) {
// If there is no processor we are using the pay-later manual pseudo-processor.
// (note it might make sense to make this a row in the processor table in the db).
$this->_params['payment_processor_id'] = 0;
}
if (isset($this->_params['payment_processor_id']) && $this->_params['payment_processor_id'] === 0) {
$this->_params['is_pay_later'] = $isPayLater = TRUE;
}
if (!empty($this->_ccid)) {
$this->_params['contribution_id'] = $this->_ccid;
}
// add a description field at the very beginning
$this->_params['description'] = ts('Online Contribution') . ': ' . ($this->_pcpInfo['title'] ? $this->_pcpInfo['title'] : $this->_values['title']);
$this->_params['accountingCode'] = CRM_Utils_Array::value('accountingCode', $this->_values);
// fix currency ID
$this->_params['currencyID'] = CRM_Core_Config::singleton()->defaultCurrency;
// CRM-18854
if (CRM_Utils_Array::value('adjust_recur_start_date', $this->_values)) {
$pledgeBlock = CRM_Pledge_BAO_PledgeBlock::getPledgeBlock($this->_id);
if (CRM_Utils_Array::value('start_date', $this->_params) || !CRM_Utils_Array::value('is_pledge_start_date_visible', $pledgeBlock)) {
$pledgeStartDate = CRM_Utils_Array::value('start_date', $this->_params, NULL);
$this->_params['receive_date'] = CRM_Pledge_BAO_Pledge::getPledgeStartDate($pledgeStartDate, $pledgeBlock);
$recurParams = CRM_Pledge_BAO_Pledge::buildRecurParams($this->_params);
$this->_params = array_merge($this->_params, $recurParams);
}
}
//carry payment processor id.
if (CRM_Utils_Array::value('id', $this->_paymentProcessor)) {
$this->_params['payment_processor_id'] = $this->_paymentProcessor['id'];
}
$premiumParams = $membershipParams = $params = $this->_params;
if (!empty($params['image_URL'])) {
CRM_Contact_BAO_Contact::processImageParams($params);
}
$fields = array('email-Primary' => 1);
// get the add to groups
$addToGroups = array();
// now set the values for the billing location.
foreach ($this->_fields as $name => $value) {
$fields[$name] = 1;
// get the add to groups for uf fields
if (!empty($value['add_to_group_id'])) {
$addToGroups[$value['add_to_group_id']] = $value['add_to_group_id'];
}
}
$fields = $this->formatParamsForPaymentProcessor($fields);
// billing email address
$fields["email-{$this->_bltID}"] = 1;
// if onbehalf-of-organization contribution, take out
// organization params in a separate variable, to make sure
// normal behavior is continued. And use that variable to
// process on-behalf-of functionality.
if (!empty($this->_values['onbehalf_profile_id']) && empty($this->_ccid)) {
$behalfOrganization = array();
$orgFields = array('organization_name', 'organization_id', 'org_option');
foreach ($orgFields as $fld) {
if (array_key_exists($fld, $params)) {
$behalfOrganization[$fld] = $params[$fld];
unset($params[$fld]);
}
}
if (is_array($params['onbehalf']) && !empty($params['onbehalf'])) {
foreach ($params['onbehalf'] as $fld => $values) {
if (strstr($fld, 'custom_')) {
$behalfOrganization[$fld] = $values;
} elseif (!strstr($fld, '-')) {
if (in_array($fld, array('contribution_campaign_id', 'member_campaign_id'))) {
$fld = 'campaign_id';
} else {
$behalfOrganization[$fld] = $values;
}
$this->_params[$fld] = $values;
}
}
}
if (array_key_exists('onbehalf_location', $params) && is_array($params['onbehalf_location'])) {
foreach ($params['onbehalf_location'] as $block => $vals) {
//fix for custom data (of type checkbox, multi-select)
if (substr($block, 0, 7) == 'custom_') {
continue;
}
// fix the index of block elements
if (is_array($vals)) {
foreach ($vals as $key => $val) {
//dont adjust the index of address block as
//it's index is WRT to location type
$newKey = $block == 'address' ? $key : ++$key;
$behalfOrganization[$block][$newKey] = $val;
//.........这里部分代码省略.........
示例2: testGetPledgeStartDate
/**
* Test build recur params.
*/
public function testGetPledgeStartDate()
{
$startDate = json_encode(array('calendar_month' => 6));
$params = array('pledge_start_date' => $startDate, 'is_pledge_start_date_editable' => TRUE, 'is_pledge_start_date_visible' => TRUE);
// Try with relative date
$date = CRM_Pledge_BAO_Pledge::getPledgeStartDate(6, $params);
$paymentDate = CRM_Pledge_BAO_Pledge::getPaymentDate(6);
$this->assertEquals(date('m/d/Y', strtotime($date)), $paymentDate, "The two dates do not match");
// Try with fixed date
$params = array('pledge_start_date' => json_encode(array('contribution_date' => '2016-06-10')), 'is_pledge_start_date_visible' => FALSE);
$date = CRM_Pledge_BAO_Pledge::getPledgeStartDate($date, $params);
$this->assertEquals($date, '20160610', "The two dates do not match");
}