I want to call uc_stock
module by reference in my custom module. Actually I want to add and delete stocks. I have done this first using node_presave and it works successfully, here is the code:
function my_module_node_presave($node){
if($node->type == 'add_stock') {
//drupal_set_message('stock_save :'.print_r($node,true));
//drupal_set_message($node->field_reference['und'][0]['nid']);
//$nid=16;
//$p_node = node_load($nid);
//drupal_set_message($p_node->field_product_stock['und'][0]['value']);
$product = $node->field_stock_value['und'][0]['value'];
drupal_set_message('product :'.$product);
$nid = $node->field_reference['und'][0]['nid'];
drupal_set_message('nid :'.$nid);
$p_node = node_load($nid);
$stock = $p_node->field_product_stock['und'][0]['value'];
drupal_set_message('stock :'.$stock);
$stock = $product + $stock;
drupal_set_message('Stock :'.$stock);
$p_node->field_product_stock['und'][0]['value'] = $stock;
//$p_node = node_load($nid);
//drupal_set_message($p_node);
// drupal_set_message('node_load :'.print_r($p_node,true));
node_save($p_node);
//drupal_set_message('after saving product');
}
elseif($node->type == 'sold_stock') {
$new_product = $node->field_sold_stock['und'][0]['value'];
drupal_set_message('new product :'.$new_product);
$new_nid = $node->field_stock_reference['und'][0]['nid'];
drupal_set_message('new nid :'.$new_nid);
$new_node = node_load($new_nid);
$sold_product = $new_node->field_product_stock['und'][0]['value'];
drupal_set_message('sold product :'.$sold_product);
$product_sold = $sold_product - $new_product;
drupal_set_message('product sold :'.$product_sold);
$new_node->field_product_stock['und'][0]['value'] = $product_sold;
node_save($new_node);
}
}
Now I want to do the same thing as done in uc_stock
module of Ubercart.