You are here

function uc_coupon_recurring_recurring_renewal_pending in Ubercart Discount Coupons 7.3

Implements hook_recurring_renewal_pending().

Reapplies any coupons that were originally valid for this order.

File

uc_coupon_recurring/uc_coupon_recurring.module, line 59
Discount coupon recurring payment integration.

Code

function uc_coupon_recurring_recurring_renewal_pending(&$order, $fee) {
  $coupons = array();
  if (!empty($order->data['coupons'])) {
    $codes = array_keys($order->data['coupons']);
    $order->data['coupons'] = array();
    foreach ($codes as $code) {
      $coupon = uc_coupon_find($code);
      $limit = empty($coupon->data['recurring_payments']) ? 0 : $coupon->data['recurring_payments'];
      if ($coupon && ($limit < 0 || $limit > $fee->charged_intervals)) {
        uc_coupon_prepare($coupon, $code, uc_coupon_calculate_discounts($coupon, $order));
        $coupons[] = $coupon;
        $order->data['coupons'][$code] = $coupon->discounts;
      }
    }
    if (!empty($coupons)) {
      uc_coupon_apply_to_order($order, $coupons);
    }
  }
}