function uc_product_kit_nodeapi in Ubercart 6.2
Same name and namespace in other branches
- 5 uc_product_kit/uc_product_kit.module \uc_product_kit_nodeapi()
Implements hook_nodeapi().
Ensure product kit discounts are updated or components removed if their component nodes are updated or deleted.
File
- uc_product_kit/
uc_product_kit.module, line 401 - The product kit module for Ubercart.
Code
function uc_product_kit_nodeapi(&$node, $op, $arg3 = NULL, $arg4 = NULL) {
switch ($op) {
case 'update':
$result = db_query("SELECT DISTINCT nid FROM {uc_product_kits} WHERE product_id = %d", $node->nid);
while ($k = db_fetch_object($result)) {
$kit = node_load($k->nid, NULL, TRUE);
node_save($kit);
}
break;
case 'delete':
$result = db_query("SELECT DISTINCT nid FROM {uc_product_kits} WHERE product_id = %d", $node->nid);
while ($k = db_fetch_object($result)) {
$kit = node_load($k->nid, NULL, TRUE);
unset($kit->products[$node->nid]);
if (empty($kit->products)) {
node_delete($kit->nid);
}
else {
node_save($kit);
}
}
break;
}
}