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


PHP EEM_Registration::reg_statuses_that_allow_payment方法代码示例

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


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

示例1: _remove_unbillable_registrations

 /**
  *    _calculate_billable_ticket_quantities_from_registrations
  * compiles a list of EE_Tickets for each event in the passed array
  *
  * @access protected
  * @param EE_Registration[] $registrations
  * @return mixed
  */
 protected function _remove_unbillable_registrations($registrations = array())
 {
     if (!empty($registrations)) {
         // these reg statuses require payment (if event is not free)
         $requires_payment = EEM_Registration::reg_statuses_that_allow_payment();
         foreach ($registrations as $key => $registration) {
             if (!$registration instanceof EE_Registration) {
                 continue;
             }
             // are we billing for this registration at this moment ?
             if (!$registration->owes_monies_and_can_pay($requires_payment) && !($registration->final_price() == 0 && in_array($registration->status_ID(), $requires_payment))) {
                 // not billable. remove it
                 unset($registrations[$key]);
             }
         }
     }
     return $registrations;
 }
开发者ID:DavidSteinbauer,项目名称:event-espresso-core,代码行数:26,代码来源:EE_Billable_Line_Item_Filter.class.php

示例2: owes_monies_and_can_pay

 /**
  * owes_monies_and_can_pay
  * whether or not this registration has monies owing and it's' status allows payment
  * @access        public
  * @param array $requires_payment
  * @return bool
  */
 public function owes_monies_and_can_pay($requires_payment = array())
 {
     // these reg statuses require payment (if event is not free)
     $requires_payment = !empty($requires_payment) ? $requires_payment : EEM_Registration::reg_statuses_that_allow_payment();
     if (in_array($this->status_ID(), $requires_payment) && $this->final_price() != 0 && $this->final_price() != $this->paid()) {
         return true;
     } else {
         return false;
     }
 }
开发者ID:teemuoksanen,项目名称:event-espresso-core,代码行数:17,代码来源:EE_Registration.class.php

示例3: process_registration_payments

 /**
  * update registrations REG_paid field after successful payment and link registrations with payment
  *
  * @param EE_Transaction $transaction
  * @param EE_Payment $payment
  * @param EE_Registration[] $registrations
  * @throws \EE_Error
  */
 public function process_registration_payments(EE_Transaction $transaction, EE_Payment $payment, $registrations = array())
 {
     // only process if payment was successful
     if ($payment->status() !== EEM_Payment::status_id_approved) {
         return;
     }
     //EEM_Registration::instance()->show_next_x_db_queries();
     if (empty($registrations)) {
         // find registrations with monies owing that can receive a payment
         $registrations = $transaction->registrations(array(array('STS_ID' => array('IN', EEM_Registration::reg_statuses_that_allow_payment()), 'REG_final_price' => array('!=', 0), 'REG_final_price*' => array('!=', 'REG_paid', true))));
     }
     // still nothing ??!??
     if (empty($registrations)) {
         return;
     }
     // todo: break out the following logic into a separate strategy class
     // todo: named something like "Sequential_Reg_Payment_Strategy"
     // todo: which would apply payments using the capitalist "first come first paid" approach
     // todo: then have another strategy class like "Distributed_Reg_Payment_Strategy"
     // todo: which would be the socialist "everybody gets a piece of pie" approach,
     // todo: which would be better for deposits, where you want a bit of the payment applied to each registration
     $refund = $payment->is_a_refund();
     // how much is available to apply to registrations?
     $available_payment_amount = abs($payment->amount());
     foreach ($registrations as $registration) {
         if ($registration instanceof EE_Registration) {
             // nothing left?
             if ($available_payment_amount <= 0) {
                 break;
             }
             if ($refund) {
                 $available_payment_amount = $this->process_registration_refund($registration, $payment, $available_payment_amount);
             } else {
                 $available_payment_amount = $this->process_registration_payment($registration, $payment, $available_payment_amount);
             }
         }
     }
     if ($available_payment_amount > 0 && apply_filters('FHEE__EE_Payment_Processor__process_registration_payments__display_notifications', false)) {
         EE_Error::add_attention(sprintf(__('A remainder of %1$s exists after applying this payment to Registration(s) %2$s.%3$sPlease verify that the original payment amount of %4$s is correct. If so, you should edit this payment and select at least one additional registration in the "Registrations to Apply Payment to" section, so that the remainder of this payment can be applied to the additional registration(s).', 'event_espresso'), EEH_Template::format_currency($available_payment_amount), implode(', ', array_keys($registrations)), '<br/>', EEH_Template::format_currency($payment->amount())), __FILE__, __FUNCTION__, __LINE__);
     }
 }
开发者ID:aaronfrey,项目名称:PepperLillie-GSP,代码行数:49,代码来源:EE_Payment_Processor.core.php

示例4: billable_line_item

 /**
  * Creates a new, unsaved line item from $line_item that factors in the
  * number of billable registrations on $registrations.
  * @param EE_Line_Item      $line_item
  * @return EE_Line_Item
  * @param EE_Registration[] $registrations
  */
 public static function billable_line_item(EE_Line_Item $line_item, $registrations)
 {
     $new_li_fields = $line_item->model_field_array();
     if ($line_item->type() === EEM_Line_Item::type_line_item && $line_item->OBJ_type() === 'Ticket') {
         $count = 0;
         foreach ($registrations as $registration) {
             if ($line_item->OBJ_ID() === $registration->ticket_ID() && in_array($registration->status_ID(), EEM_Registration::reg_statuses_that_allow_payment())) {
                 $count++;
             }
         }
         $new_li_fields['LIN_quantity'] = $count;
     }
     //don't set the total. We'll leave that up to the code that calculates it
     unset($new_li_fields['LIN_ID']);
     unset($new_li_fields['LIN_parent']);
     unset($new_li_fields['LIN_total']);
     return EE_Line_Item::new_instance($new_li_fields);
 }
开发者ID:kaffiemetsuker,项目名称:event-espresso-core,代码行数:25,代码来源:EEH_Line_Item.helper.php

示例5: process_registration_payments

 /**
  * update registrations REG_paid field after successful payment and link registrations with payment
  *
  * @param EE_Transaction $transaction
  * @param EE_Payment $payment
  * @param EE_Registration[] $registrations
  * @throws \EE_Error
  */
 public function process_registration_payments(EE_Transaction $transaction, EE_Payment $payment, $registrations = array())
 {
     // only process if payment was successful
     if ($payment->status() !== EEM_Payment::status_id_approved) {
         return;
     }
     //EEM_Registration::instance()->show_next_x_db_queries();
     if (empty($registrations)) {
         // find registrations with monies owing that can receive a payment
         $registrations = $transaction->registrations(array(array('STS_ID' => array('IN', EEM_Registration::reg_statuses_that_allow_payment()), 'REG_final_price' => array('!=', 0), 'REG_final_price*' => array('!=', 'REG_paid', true))));
     }
     // still nothing ??!??
     if (empty($registrations)) {
         return;
     }
     // todo: break out the following logic into a separate strategy class
     // todo: named something like "Sequential_Reg_Payment_Strategy"
     // todo: which would apply payments using the capitalist "first come first paid" approach
     // todo: then have another strategy class like "Distributed_Reg_Payment_Strategy"
     // todo: which would be the socialist "everybody gets a piece of pie" approach,
     // todo: which would be better for deposits, where you want a bit of the payment applied to each registration
     $refund = $payment->is_a_refund();
     // how much is available to apply to registrations?
     $available_payment_amount = abs($payment->amount());
     //EEH_Debug_Tools::printr( $available_payment_amount, '$available_payment_amount', __FILE__, __LINE__ );
     foreach ($registrations as $registration) {
         if ($registration instanceof EE_Registration) {
             // nothing left?
             if ($available_payment_amount <= 0) {
                 break;
             }
             if ($refund) {
                 $available_payment_amount = $this->process_registration_refund($registration, $payment, $available_payment_amount);
             } else {
                 $available_payment_amount = $this->process_registration_payment($registration, $payment, $available_payment_amount);
             }
         }
     }
 }
开发者ID:robert-osborne,项目名称:event-espresso-core-1,代码行数:47,代码来源:EE_Payment_Processor.core.php


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