function uc_product_kit_insert in Ubercart 7.3
Same name and namespace in other branches
- 5 uc_product_kit/uc_product_kit.module \uc_product_kit_insert()
- 6.2 uc_product_kit/uc_product_kit.module \uc_product_kit_insert()
Implements hook_insert().
Adds a row to {uc_products} to make a product. Extra information about the component products are stored in {uc_product_kits}.
Parameters
&$node: The node object being saved.
See also
File
- uc_product_kit/
uc_product_kit.module, line 123 - The product kit module for Ubercart.
Code
function uc_product_kit_insert(&$node) {
$obj = new stdClass();
$obj->vid = $node->vid;
$obj->nid = $node->nid;
$obj->model = '';
$obj->list_price = 0;
$obj->cost = 0;
$obj->sell_price = 0;
$obj->weight = 0;
$obj->weight_units = variable_get('uc_weight_unit', 'lb');
$obj->default_qty = $node->default_qty;
$obj->ordering = $node->ordering;
$obj->shippable = FALSE;
$values = array();
$placeholders = array();
foreach ($node->products as $product) {
if (is_numeric($product)) {
$product = node_load($product);
}
$kit = array(
'vid' => $node->vid,
'nid' => $node->nid,
'product_id' => $product->nid,
'mutable' => $node->mutable,
'qty' => 1,
'synchronized' => 1,
);
drupal_write_record('uc_product_kits', $kit);
$obj->model .= $product->model . ' / ';
$obj->list_price += $product->list_price;
$obj->cost += $product->cost;
$obj->sell_price += $product->sell_price;
$obj->weight += $product->weight * uc_weight_conversion($product->weight_units, $obj->weight_units);
if ($product->shippable) {
$obj->shippable = TRUE;
}
}
$obj->model = rtrim($obj->model, ' / ');
drupal_write_record('uc_products', $obj);
}