/**
 * Retrieve the Cart Content Details
 *
 * Includes prices, tax, etc of all items.
 *
 * @since 1.0
 * @return array $details Cart content details
 */
function edd_get_cart_content_details()
{
    global $edd_is_last_cart_item, $edd_flat_discount_total;
    $cart_items = edd_get_cart_contents();
    if (empty($cart_items)) {
        return false;
    }
    $details = array();
    $length = count($cart_items) - 1;
    foreach ($cart_items as $key => $item) {
        if ($key >= $length) {
            $edd_is_last_cart_item = true;
        }
        $item['quantity'] = edd_item_quantities_enabled() ? absint($item['quantity']) : 1;
        $price_id = isset($item['options']['price_id']) ? $item['options']['price_id'] : NULL;
        $item_price = edd_get_cart_item_price($item['id'], $item['options']);
        $discount = edd_get_cart_item_discount_amount($item);
        $discount = apply_filters('edd_get_cart_content_details_item_discount_amount', $discount, $item);
        $quantity = edd_get_cart_item_quantity($item['id'], $item['options']);
        $fees = edd_get_cart_fees('fee', $item['id'], $price_id);
        $subtotal = $item_price * $quantity;
        foreach ($fees as $fee) {
            if ($fee['amount'] < 0) {
                $subtotal += $fee['amount'];
            }
        }
        $tax = edd_get_cart_item_tax($item['id'], $item['options'], $subtotal - $discount);
        if (edd_prices_include_tax()) {
            $subtotal -= round($tax, edd_currency_decimal_filter());
        }
        $total = $subtotal - $discount + $tax;
        // Do not allow totals to go negative
        if ($total < 0) {
            $total = 0;
        }
        $details[$key] = array('name' => get_the_title($item['id']), 'id' => $item['id'], 'item_number' => $item, 'item_price' => round($item_price, edd_currency_decimal_filter()), 'quantity' => $quantity, 'discount' => round($discount, edd_currency_decimal_filter()), 'subtotal' => round($subtotal, edd_currency_decimal_filter()), 'tax' => round($tax, edd_currency_decimal_filter()), 'fees' => $fees, 'price' => round($total, edd_currency_decimal_filter()));
        if ($edd_is_last_cart_item) {
            $edd_is_last_cart_item = false;
            $edd_flat_discount_total = 0.0;
        }
    }
    return $details;
}
/**
 * Retrieve the Cart Content Details
 *
 * Includes prices, tax, etc of all items.
 *
 * @since 1.0
 * @return array $details Cart content details
 */
function edd_get_cart_content_details()
{
    $cart_items = edd_get_cart_contents();
    if (empty($cart_items)) {
        return false;
    }
    $details = array();
    foreach ($cart_items as $key => $item) {
        $item['quantity'] = edd_item_quantities_enabled() ? absint($item['quantity']) : 1;
        $item_price = edd_get_cart_item_price($item['id'], $item['options']);
        $discount = apply_filters('edd_get_cart_content_details_item_discount_amount', edd_get_cart_item_discount_amount($item), $item);
        $quantity = edd_get_cart_item_quantity($item['id'], $item['options']);
        $fees = edd_get_cart_fees('fee', $item['id']);
        $subtotal = $item_price * $quantity - $discount;
        $tax = edd_get_cart_item_tax($item['id'], $item['options'], $subtotal);
        if (edd_prices_include_tax()) {
            $subtotal -= $tax;
        }
        $total = round($subtotal + $tax, edd_currency_decimal_filter());
        $details[$key] = array('name' => get_the_title($item['id']), 'id' => $item['id'], 'item_number' => $item, 'item_price' => round($item_price, edd_currency_decimal_filter()), 'quantity' => $quantity, 'discount' => round($discount, edd_currency_decimal_filter()), 'subtotal' => round($subtotal, edd_currency_decimal_filter()), 'tax' => round($tax, edd_currency_decimal_filter()), 'fees' => $fees, 'price' => $total);
    }
    return $details;
}
/**
 * Returns whether or not a download has a discount
 *
 * @param array $item A cart item array.
 *
 * @return bool
 */
function download_has_discount($item)
{
    $discount_amount = edd_get_cart_item_discount_amount($item);
    return 0 !== $discount_amount;
}
 /**
  * Retrieves Recent Sales
  *
  * @access public
  * @since  2.6
  * @return array
  */
 public function get_recent_sales()
 {
     global $wp_query;
     $sales = array();
     if (!user_can($this->user_id, 'view_shop_reports') && !$this->override) {
         return $sales;
     }
     if (isset($wp_query->query_vars['id'])) {
         $query = array();
         $query[] = new EDD_Payment($wp_query->query_vars['id']);
     } elseif (isset($wp_query->query_vars['purchasekey'])) {
         $query = array();
         $query[] = edd_get_payment_by('key', $wp_query->query_vars['purchasekey']);
     } elseif (isset($wp_query->query_vars['email'])) {
         $query = edd_get_payments(array('fields' => 'ids', 'meta_key' => '_edd_payment_user_email', 'meta_value' => $wp_query->query_vars['email'], 'number' => $this->per_page(), 'page' => $this->get_paged(), 'status' => 'publish'));
     } else {
         $query = edd_get_payments(array('fields' => 'ids', 'number' => $this->per_page(), 'page' => $this->get_paged(), 'status' => 'publish'));
     }
     if ($query) {
         $i = 0;
         foreach ($query as $payment) {
             if (is_numeric($payment)) {
                 $payment = new EDD_Payment($payment);
             }
             $payment_meta = $payment->get_meta();
             $user_info = $payment->user_info;
             $sales['sales'][$i]['ID'] = $payment->number;
             $sales['sales'][$i]['transaction_id'] = !empty($payment->transaction_id) ? $payment->transaction_id : null;
             $sales['sales'][$i]['key'] = $payment->key;
             $sales['sales'][$i]['subtotal'] = $payment->subtotal;
             $sales['sales'][$i]['tax'] = $payment->tax;
             $sales['sales'][$i]['fees'] = !empty($payment->fees) ? $payment->fees : null;
             $sales['sales'][$i]['total'] = $payment->total;
             $sales['sales'][$i]['gateway'] = $payment->gateway;
             $sales['sales'][$i]['email'] = $payment->email;
             $sales['sales'][$i]['date'] = $payment->date;
             $c = 0;
             $discounts = !empty($payment->discounts) ? explode(',', $payment->discounts) : array();
             $discounts = array_map('trim', $discounts);
             $discount_values = array();
             foreach ($discounts as $discount) {
                 if ('none' === $discount) {
                     continue;
                 }
                 $discount_values[$discount] = 0;
             }
             $cart_items = array();
             foreach ($payment->cart_details as $key => $item) {
                 $item_id = isset($item['id']) ? $item['id'] : $item;
                 $price = isset($item['price']) ? $item['price'] : false;
                 // The final price for the item
                 $item_price = isset($item['item_price']) ? $item['item_price'] : false;
                 // The price before discounts
                 $price_id = isset($item['item_number']['options']['price_id']) ? $item['item_number']['options']['price_id'] : null;
                 $quantity = isset($item['quantity']) && $item['quantity'] > 0 ? $item['quantity'] : 1;
                 if (!$price) {
                     // This function is only used on payments with near 1.0 cart data structure
                     $price = edd_get_download_final_price($item_id, $user_info, null);
                 }
                 $price_name = '';
                 if (isset($item['item_number']) && isset($item['item_number']['options'])) {
                     $price_options = $item['item_number']['options'];
                     if (isset($price_options['price_id'])) {
                         $price_name = edd_get_price_option_name($item_id, $price_options['price_id'], $payment->ID);
                     }
                 }
                 $cart_items[$c]['id'] = $item_id;
                 $cart_items[$c]['quantity'] = $quantity;
                 $cart_items[$c]['name'] = get_the_title($item_id);
                 $cart_items[$c]['price'] = $price;
                 $cart_items[$c]['price_name'] = $price_name;
                 // Determine the discount amount for the item, if there is one
                 foreach ($discount_values as $discount => $amount) {
                     $item_discount = edd_get_cart_item_discount_amount($item, $discount);
                     $discount_values[$discount] += $item_discount;
                 }
                 $c++;
             }
             $sales['sales'][$i]['discounts'] = !empty($discount_values) ? $discount_values : null;
             $sales['sales'][$i]['products'] = $cart_items;
             $i++;
         }
     }
     return apply_filters('edd_api_sales', $sales, $this);
 }
?>
	<div class="three-seventh<?php 
if (!$title) {
    ?>
 offset-three-seventh<?php 
}
?>
">
		<?php 
echo esc_html($discount['name']);
?>
	</div>
	<div class="one-seventh">
		<?php 
if ($cart_item) {
    ?>
			<?php 
    echo esc_html(edd_currency_filter(edd_format_amount(-1 * edd_get_cart_item_discount_amount($cart_item))));
    ?>
		<?php 
} else {
    ?>
			<?php 
    echo esc_html(edd_currency_filter(edd_format_amount(-1 * edd_get_cart_discounted_amount())));
    ?>
		<?php 
}
?>
	</div>
</li>
<?php