You are here

function uc_stock_adjust in Ubercart 7.3

Same name and namespace in other branches
  1. 8.4 uc_stock/uc_stock.module \uc_stock_adjust()
  2. 5 uc_stock/uc_stock.module \uc_stock_adjust()
  3. 6.2 uc_stock/uc_stock.module \uc_stock_adjust()

Adjusts the product stock level by a set amount.

Parameters

$sku: The product SKU of the stock level to adjust.

$qty: The amount to add to or subtract from the stock level.

$check_active: If FALSE, don't check if stock tracking is active for this SKU.

2 calls to uc_stock_adjust()
uc_order_edit_products_remove in uc_order/uc_order.order_pane.inc
Form submit callback: remove a product from an order.
uc_stock_adjust_product_stock in uc_stock/uc_stock.module
Decrement a product's stock.

File

uc_stock/uc_stock.module, line 140
Allow ubercart products to have stock levels associated with their SKU

Code

function uc_stock_adjust($sku, $qty, $check_active = TRUE) {
  $stock = db_query("SELECT active, stock FROM {uc_product_stock} WHERE sku = :sku", array(
    ':sku' => $sku,
  ))
    ->fetchObject();
  if ($check_active) {
    if (!$stock || !$stock->active) {
      return;
    }
  }
  db_update('uc_product_stock')
    ->expression('stock', 'stock + :qty', array(
    ':qty' => $qty,
  ))
    ->condition('sku', $sku)
    ->execute();
  module_invoke_all('uc_stock_adjusted', $sku, $stock->stock, $qty);
}