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


PHP CRM_Price_BAO_PriceSet::getRecurDetails方法代码示例

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


在下文中一共展示了CRM_Price_BAO_PriceSet::getRecurDetails方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: setRecurringMembershipParams

 /**
  * Determine if recurring parameters need to be added to the form parameters.
  *
  *  - is_recur
  *  - frequency_interval
  *  - frequency_unit
  *
  * For membership this is based on the membership type.
  *
  * This needs to be done before processing the pre-approval redirect where relevant on the main page or before any payment processing.
  *
  * Arguably the form should start to build $this->_params in the pre-process main page & use that array consistently throughout.
  */
 protected function setRecurringMembershipParams()
 {
     $selectedMembershipTypeID = CRM_Utils_Array::value('selectMembership', $this->_params);
     if ($selectedMembershipTypeID) {
         // @todo the price_x fields will ALWAYS allow us to determine the membership - so we should ignore
         // 'selectMembership' and calculate from the price_x fields so we have one method that always works
         // this is lazy & only catches when selectMembership is set, but the worst of all worlds would be to fix
         // this with an else (calculate for price set).
         $membershipTypes = CRM_Price_BAO_PriceSet::getMembershipTypesFromPriceSet($this->_priceSetId);
         if (in_array($selectedMembershipTypeID, $membershipTypes['autorenew_required']) || in_array($selectedMembershipTypeID, $membershipTypes['autorenew_optional']) && !empty($this->_params['is_recur'])) {
             $this->_params['auto_renew'] = TRUE;
         }
     }
     if ((!empty($this->_params['selectMembership']) || !empty($this->_params['priceSetId'])) && !empty($this->_paymentProcessor['is_recur']) && CRM_Utils_Array::value('auto_renew', $this->_params) && empty($this->_params['is_recur']) && empty($this->_params['frequency_interval'])) {
         $this->_params['is_recur'] = $this->_values['is_recur'] = 1;
         // check if price set is not quick config
         if (!empty($this->_params['priceSetId']) && !CRM_Core_DAO::getFieldValue('CRM_Price_DAO_PriceSet', $this->_params['priceSetId'], 'is_quick_config')) {
             list($this->_params['frequency_interval'], $this->_params['frequency_unit']) = CRM_Price_BAO_PriceSet::getRecurDetails($this->_params['priceSetId']);
         } else {
             // FIXME: set interval and unit based on selected membership type
             $this->_params['frequency_interval'] = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipType', $this->_params['selectMembership'], 'duration_interval');
             $this->_params['frequency_unit'] = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipType', $this->_params['selectMembership'], 'duration_unit');
         }
     }
 }
开发者ID:rameshrr99,项目名称:civicrm-core,代码行数:38,代码来源:ContributionBase.php

示例2: preProcess


//.........这里部分代码省略.........
                 $isPrimary = 1;
                 if (isset($this->_params['onbehalf_location']['address']) && count($this->_params['onbehalf_location']['address']) > 0) {
                     $isPrimary = 0;
                 }
                 $this->_params['onbehalf_location']['address'][$locType][$field] = $value;
                 if (empty($this->_params['onbehalf_location']['address'][$locType]['is_primary'])) {
                     $this->_params['onbehalf_location']['address'][$locType]['is_primary'] = $isPrimary;
                 }
                 $this->_params['onbehalf_location']['address'][$locType]['location_type_id'] = $locType;
             } elseif (in_array($field, $blocks)) {
                 if (!$typeId || is_numeric($typeId)) {
                     $blockName = $fieldName = $field;
                     $locationType = 'location_type_id';
                     if ($locType == 'Primary') {
                         $defaultLocationType = CRM_Core_BAO_LocationType::getDefault();
                         $locationValue = $defaultLocationType->id;
                     } else {
                         $locationValue = $locType;
                     }
                     $locTypeId = '';
                     $phoneExtField = array();
                     if ($field == 'url') {
                         $blockName = 'website';
                         $locationType = 'website_type_id';
                         $locationValue = CRM_Utils_Array::value("{$loc}-website_type_id", $this->_params['onbehalf']);
                     } elseif ($field == 'im') {
                         $fieldName = 'name';
                         $locTypeId = 'provider_id';
                         $typeId = $this->_params['onbehalf']["{$loc}-provider_id"];
                     } elseif ($field == 'phone') {
                         list($field, $locType, $typeId) = explode('-', $loc);
                         $locTypeId = 'phone_type_id';
                         //check if extension field exists
                         $extField = str_replace('phone', 'phone_ext', $loc);
                         if (isset($this->_params['onbehalf'][$extField])) {
                             $phoneExtField = array('phone_ext' => $this->_params['onbehalf'][$extField]);
                         }
                     }
                     $isPrimary = 1;
                     if (isset($this->_params['onbehalf_location'][$blockName]) && count($this->_params['onbehalf_location'][$blockName]) > 0) {
                         $isPrimary = 0;
                     }
                     if ($locationValue) {
                         $blockValues = array($fieldName => $value, $locationType => $locationValue, 'is_primary' => $isPrimary);
                         if ($locTypeId) {
                             $blockValues = array_merge($blockValues, array($locTypeId => $typeId));
                         }
                         if (!empty($phoneExtField)) {
                             $blockValues = array_merge($blockValues, $phoneExtField);
                         }
                         $this->_params['onbehalf_location'][$blockName][] = $blockValues;
                     }
                 }
             } elseif (strstr($loc, 'custom')) {
                 if ($value && isset($this->_params['onbehalf']["{$loc}_id"])) {
                     $value = $this->_params['onbehalf']["{$loc}_id"];
                 }
                 $this->_params['onbehalf_location']["{$loc}"] = $value;
             } else {
                 if ($loc == 'contact_sub_type') {
                     $this->_params['onbehalf_location'][$loc] = $value;
                 } else {
                     $this->_params['onbehalf_location'][$field] = $value;
                 }
             }
         }
     } elseif (!empty($this->_values['is_for_organization'])) {
         // no on behalf of an organization, CRM-5519
         // so reset loc blocks from main params.
         foreach (array('phone', 'email', 'address') as $blk) {
             if (isset($this->_params[$blk])) {
                 unset($this->_params[$blk]);
             }
         }
     }
     // if auto renew checkbox is set, initiate a open-ended recurring membership
     if ((!empty($this->_params['selectMembership']) || !empty($this->_params['priceSetId'])) && !empty($this->_paymentProcessor['is_recur']) && CRM_Utils_Array::value('auto_renew', $this->_params) && empty($this->_params['is_recur']) && empty($this->_params['frequency_interval'])) {
         $this->_params['is_recur'] = $this->_values['is_recur'] = 1;
         // check if price set is not quick config
         if (!empty($this->_params['priceSetId']) && !$isQuickConfig) {
             list($this->_params['frequency_interval'], $this->_params['frequency_unit']) = CRM_Price_BAO_PriceSet::getRecurDetails($this->_params['priceSetId']);
         } else {
             // FIXME: set interval and unit based on selected membership type
             $this->_params['frequency_interval'] = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipType', $this->_params['selectMembership'], 'duration_interval');
             $this->_params['frequency_unit'] = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipType', $this->_params['selectMembership'], 'duration_unit');
         }
     }
     if ($this->_pcpId) {
         $params = $this->processPcp($this, $this->_params);
         $this->_params = $params;
     }
     $this->_params['invoiceID'] = $this->get('invoiceID');
     //carry campaign from profile.
     if (array_key_exists('contribution_campaign_id', $this->_params)) {
         $this->_params['campaign_id'] = $this->_params['contribution_campaign_id'];
     }
     // assign contribution page id to the template so we can add css class for it
     $this->assign('contributionPageID', $this->_id);
     $this->set('params', $this->_params);
 }
开发者ID:archcidburnziso,项目名称:civicrm-core,代码行数:101,代码来源:Confirm.php


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