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


PHP CRM_Event_Form_Registration::initPriceSet方法代码示例

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


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

示例1: buildQuickForm

 /** 
  * Function to build the form 
  * 
  * @return None 
  * @access public 
  */
 static function buildQuickForm(&$form)
 {
     if ($form->_eventId) {
         $form->_isPaidEvent = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $form->_eventId, 'is_monetary');
         if ($form->_isPaidEvent) {
             $form->addElement('hidden', 'hidden_feeblock', 1);
         }
         // make sure this is for backoffice registration.
         if ($form->getName() == 'Participant') {
             require_once "CRM/Event/BAO/Participant.php";
             $eventfullMsg = CRM_Event_BAO_Participant::eventFullMessage($form->_eventId, $form->_pId);
             $form->addElement('hidden', 'hidden_eventFullMsg', $eventfullMsg, array('id' => 'hidden_eventFullMsg'));
         }
     }
     if ($form->_pId) {
         if (CRM_Core_DAO::getFieldValue('CRM_Event_DAO_ParticipantPayment', $form->_pId, 'contribution_id', 'participant_id')) {
             $form->_online = true;
         }
     }
     if ($form->_isPaidEvent) {
         require_once "CRM/Event/BAO/Event.php";
         $params = array('id' => $form->_eventId);
         CRM_Event_BAO_Event::retrieve($params, $event);
         //retrieve custom information
         $form->_values = array();
         require_once "CRM/Event/Form/Registration/Register.php";
         CRM_Event_Form_Registration::initPriceSet($form, $event['id']);
         CRM_Event_Form_Registration_Register::buildAmount($form, true, $form->_discountId);
         $lineItem = array();
         if (!CRM_Utils_System::isNull(CRM_Utils_Array::value('line_items', $form->_values))) {
             $lineItem[] = $form->_values['line_items'];
         }
         $form->assign('lineItem', empty($lineItem) ? false : $lineItem);
         $discounts = array();
         if (!empty($form->_values['discount'])) {
             foreach ($form->_values['discount'] as $key => $value) {
                 $discounts[$key] = $value['name'];
             }
             $element = $form->add('select', 'discount_id', ts('Discount Set'), array(0 => ts('- select -')) + $discounts, false, array('onchange' => "buildFeeBlock( {$form->_eventId}, this.value );"));
             if ($form->_online) {
                 $element->freeze();
             }
         }
         if ($form->_mode) {
             require_once 'CRM/Core/Payment/Form.php';
             CRM_Core_Payment_Form::buildCreditCard($form, true);
         } else {
             if (!$form->_mode) {
                 $form->addElement('checkbox', 'record_contribution', ts('Record Payment?'), null, array('onclick' => "return showHideByValue('record_contribution','','payment_information','table-row','radio',false);"));
                 require_once 'CRM/Contribute/PseudoConstant.php';
                 $form->add('select', 'contribution_type_id', ts('Contribution Type'), array('' => ts('- select -')) + CRM_Contribute_PseudoConstant::contributionType());
                 $form->addDate('receive_date', ts('Received'), false, array('formatType' => 'activityDate'));
                 $form->add('select', 'payment_instrument_id', ts('Paid By'), array('' => ts('- select -')) + CRM_Contribute_PseudoConstant::paymentInstrument(), false, array('onChange' => "return showHideByValue('payment_instrument_id','4','checkNumber','table-row','select',false);"));
                 // don't show transaction id in batch update mode
                 $path = CRM_Utils_System::currentPath();
                 $form->assign('showTransactionId', false);
                 if ($path != 'civicrm/contact/search/basic') {
                     $form->add('text', 'trxn_id', ts('Transaction ID'));
                     $form->addRule('trxn_id', ts('Transaction ID already exists in Database.'), 'objectExists', array('CRM_Contribute_DAO_Contribution', $form->_eventId, 'trxn_id'));
                     $form->assign('showTransactionId', true);
                 }
                 $allowStatuses = array();
                 $statuses = CRM_Contribute_PseudoConstant::contributionStatus();
                 if ($form->get('onlinePendingContributionId')) {
                     $statusNames = CRM_Contribute_PseudoConstant::contributionStatus(null, 'name');
                     foreach ($statusNames as $val => $name) {
                         if (in_array($name, array('In Progress', 'Overdue'))) {
                             continue;
                         }
                         $allowStatuses[$val] = $statuses[$val];
                     }
                 } else {
                     $allowStatuses = $statuses;
                 }
                 $form->add('select', 'contribution_status_id', ts('Payment Status'), $allowStatuses);
                 $form->add('text', 'check_number', ts('Check Number'), CRM_Core_DAO::getAttribute('CRM_Contribute_DAO_Contribution', 'check_number'));
             }
         }
     } else {
         $form->add('text', 'amount', ts('Event Fee(s)'));
     }
     $form->assign('onlinePendingContributionId', $form->get('onlinePendingContributionId'));
     $form->assign("paid", $form->_isPaidEvent);
     $form->addElement('checkbox', 'send_receipt', ts('Send Confirmation?'), null, array('onclick' => "return showHideByValue('send_receipt','','notice','table-row','radio',false);"));
     $form->add('textarea', 'receipt_text', ts('Confirmation Message'));
     // Retrieve the name and email of the contact - form will be the TO for receipt email ( only if context is not standalone)
     if ($form->_context != 'standalone') {
         if ($form->_contactID) {
             list($form->_contributorDisplayName, $form->_contributorEmail) = CRM_Contact_BAO_Contact_Location::getEmailDetails($form->_contactID);
             $form->assign('email', $form->_contributorEmail);
         } else {
             //show email block for batch update for event
             $form->assign('batchEmail', true);
         }
//.........这里部分代码省略.........
开发者ID:ksecor,项目名称:civicrm,代码行数:101,代码来源:EventFees.php


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