当前位置: 首页>>代码示例>>PHP>>正文


PHP CRM_Pledge_BAO_Pledge::buildRecurParams方法代码示例

本文整理汇总了PHP中CRM_Pledge_BAO_Pledge::buildRecurParams方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Pledge_BAO_Pledge::buildRecurParams方法的具体用法?PHP CRM_Pledge_BAO_Pledge::buildRecurParams怎么用?PHP CRM_Pledge_BAO_Pledge::buildRecurParams使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CRM_Pledge_BAO_Pledge的用法示例。


在下文中一共展示了CRM_Pledge_BAO_Pledge::buildRecurParams方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
//.........这里部分代码省略.........
开发者ID:nielosz,项目名称:civicrm-core,代码行数:101,代码来源:Confirm.php


注:本文中的CRM_Pledge_BAO_Pledge::buildRecurParams方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。