Ejemplo n.º 1
0
 /**
  * Get cart sub total.
  */
 function get_sub_total($cart, $options = null)
 {
     // Add item totals.
     foreach ((array) $cart['items'] as $item) {
         $should_add_to_total = !$item['is_cancelled'] && !$item['is_returned'] || $cart['order']['status'] == 'cancelled' || $cart['order']['status'] == 'returned';
         if ($should_add_to_total) {
             $sub_total += $item['price'] * $item['quantity'];
             $sub_cost += $item['cost'] * $item['quantity'];
         }
     }
     // Return sub cost?
     if ($options['cost']) {
         return $sub_cost;
     }
     $orig_sub_total = $sub_total;
     // Apply discounts.
     $sub_total = Discounts::apply_sub_total($cart, $sub_total, $cart['discounts']);
     // Discount total?
     if ($options['discount']) {
         return abs($orig_sub_total - total($sub_total));
     }
     return $orig_sub_total;
 }