function uc_feeds_nodeapi in Ubercart Feed Mappers 6
Implementation of hook_nodeapi().
Parameters
object $node:
string $op:
Return value
void
File
- ./
uc_feeds.module, line 211 - Integrates Ubercart properties with Feeds
Code
function uc_feeds_nodeapi(&$node, $op) {
if (!$node->uc_feeds_flag == 'Attributes') {
return;
}
switch ($op) {
case 'insert':
if (module_exists('uc_attribute')) {
foreach ($node->attributes as $aid => $feedattrib) {
// Enable all options for added attributes.
$attribute = uc_attribute_load($aid);
foreach ($attribute->options as $option) {
if ($node->attributes[$aid]->options[$option->oid]) {
$option->price = $node->attributes[$aid]->options[$option->oid]->price;
$option->weight = $node->attributes[$aid]->options[$option->oid]->weight;
}
db_query("INSERT INTO {uc_product_options} (nid, oid, cost, price, weight, ordering) VALUES (%d, %d, %f, %f, %f, %d)", $node->nid, $option->oid, $option->cost, $option->price, $option->weight, $option->ordering);
}
// Make the first option (if any) the default.
$option = reset($attribute->options);
if ($option) {
$oid = $option->oid;
}
else {
$oid = 0;
}
db_query("INSERT INTO {uc_product_attributes} (nid, aid, label, ordering, default_option, required, display) SELECT %d, aid, label, ordering, %d, required, display FROM {uc_attributes} WHERE aid = %d", $node->nid, $oid, $aid);
}
}
break;
case 'update':
uc_stock_adjust($node->model, $node->stock);
break;
}
}