Function Reference: geodir_payment_invoice_coupon_usage_count
Summary
This function has not been documented yet.
Source Code
function geodir_payment_invoice_coupon_usage_count($invoice_id) { global $wpdb; $invoice_info = geodir_get_invoice($invoice_id); if (empty($invoice_info)) { return false; } if (empty($invoice_info->coupon_code) || !geodir_payment_allow_coupon_usage(array('cart_id' => $invoice_id))) { return false; } $status = $invoice_info->status; $code = $invoice_info->coupon_code; $usage_status = $invoice_info->coupon_usage; $increase = false; $decrease = false; switch($usage_status) { case 'increase': if (in_array($status, array('cancelled'))) { $decrease = true; } break; case 'decrease': if (in_array($status, array('confirmed', 'pending', 'onhold', 'failed'))) { $increase = true; } break; default: if (in_array($status, array('confirmed', 'pending', 'onhold', 'failed'))) { $increase = true; } if (in_array($status, array('cancelled'))) { $decrease = true; } break; } if ($increase || $decrease) { $data = array(); if ($increase) { geodir_payment_increase_coupon_usage_count($code); $data['coupon_usage'] = 'increase'; } if ($decrease) { geodir_payment_decrease_coupon_usage_count($code); $data['coupon_usage'] = 'decrease'; } return $wpdb->update(INVOICE_TABLE, $data, array('id' => $invoice_id)); } }