function uc_product_kit_load in Ubercart 7.3
Same name and namespace in other branches
- 5 uc_product_kit/uc_product_kit.module \uc_product_kit_load()
- 6.2 uc_product_kit/uc_product_kit.module \uc_product_kit_load()
Implements hook_load().
File
- uc_product_kit/
uc_product_kit.module, line 360 - The product kit module for Ubercart.
Code
function uc_product_kit_load($nodes) {
$vids = array();
foreach ($nodes as $nid => $node) {
$vids[$nid] = $node->vid;
}
$all_products = array();
$result = db_query("SELECT nid, product_id, mutable, qty, discount, ordering, synchronized FROM {uc_product_kits} WHERE vid IN (:vids) ORDER BY nid, ordering", array(
':vids' => $vids,
));
while ($prod = $result
->fetchObject()) {
$nodes[$prod->nid]->mutable = $prod->mutable;
$nodes[$prod->nid]->synchronized = $prod->synchronized;
// Add the component information.
$data = array();
if ($prod->mutable != UC_PRODUCT_KIT_MUTABLE) {
$data = array(
'kit_id' => $prod->nid,
'kit_discount' => $prod->discount,
);
}
$product = uc_product_load_variant($prod->product_id, $data);
$product->qty = $prod->qty;
$product->discount = $prod->discount;
$product->ordering = $prod->ordering;
// Add product to the kit.
$nodes[$prod->nid]->products[$product->nid] = $product;
}
// Add product data to kits.
uc_product_load($nodes);
}