You are here

function uc_product_kit_uc_product_alter in Ubercart 7.3

Same name and namespace in other branches
  1. 8.4 uc_product_kit/uc_product_kit.module \uc_product_kit_uc_product_alter()

Implements hook_uc_product_alter().

File

uc_product_kit/uc_product_kit.module, line 995
The product kit module for Ubercart.

Code

function uc_product_kit_uc_product_alter(&$variant) {
  if (isset($variant->data['kit_id'])) {

    // If this is a kit component load, we would cause infinite recursion trying
    // to node_load() the parent, but we already have the discount available.
    if (isset($variant->data['kit_discount'])) {
      $discount = $variant->data['kit_discount'];
    }
    elseif (($kit = node_load($variant->data['kit_id'])) && $kit->mutable != UC_PRODUCT_KIT_MUTABLE) {
      $discount = $kit->products[$variant->nid]->discount;
    }
    else {
      $discount = 0;
    }
    $variant->price += $discount;
    $variant->data['module'] = 'uc_product_kit';
  }
}