You are here

function commerce_coupon_usage_get_max_usage in Commerce Coupon 7.2

Get the maximum allowed uses for a particular coupon.

Parameters

int $coupon_id: A coupon id.

Return value

int Max usage integer.

3 calls to commerce_coupon_usage_get_max_usage()
CommerceCouponUsageTransactionEntityController::save in modules/usage/includes/commerce_coupon_usage.controller.inc
Saves a usage transaction.
commerce_coupon_usage_property_getter in modules/usage/commerce_coupon_usage.module
Entity metadata property getter callback.
theme_commerce_coupon_usage_summary in modules/usage/commerce_coupon_usage.module
Render a usage summary for a coupon

File

modules/usage/commerce_coupon_usage.module, line 42

Code

function commerce_coupon_usage_get_max_usage($coupon_id) {
  $coupon = commerce_coupon_load($coupon_id);
  if (!in_array($coupon->type, array_keys(commerce_coupon_get_types()))) {
    return;
  }
  $coupon_wrapper = entity_metadata_wrapper('commerce_coupon', $coupon);
  $usage = 0;
  if ($coupon_wrapper->commerce_coupon_conditions
    ->value()) {
    $conditions = $coupon_wrapper->commerce_coupon_conditions
      ->value();
    foreach ($conditions as $condition) {

      // It is possible that there could be more than one usage constraint
      // although there is no real reason for doing this.
      if ($condition['condition_name'] == 'commerce_coupon_usage_evaluate_usage' && !empty($condition['condition_settings']['max_usage'])) {
        if (!$usage || $condition['condition_settings']['max_usage'] < $usage) {
          $usage = $condition['condition_settings']['max_usage'];
        }
      }
    }
  }
  return $usage;
}