You are here

function uc_stock_uc_add_to_cart in Ubercart AJAX Cart 7.2

override hook_add_to_cart

Parameters

string $nid:

integer $qty:

array $data:

Return value

array

File

./uc_ajax_cart.cart.inc, line 35

Code

function uc_stock_uc_add_to_cart($nid, $qty, $data) {
  $product = node_load($nid);
  if (isset($data['attributes'])) {
    foreach ($data['attributes'] as $aid => $value) {
      if (is_numeric($value)) {
        $combination[$aid] = $value;
      }
    }
    if (is_array($combination)) {
      ksort($combination);
      $result = db_query("SELECT model FROM {uc_product_adjustments} WHERE nid = :nid AND combination LIKE :combination", array(
        ':nid' => $nid,
        ':combination' => serialize($combination),
      ));
      $model = $result
        ->fetchField();
    }
  }
  else {
    $model = $product->model;
  }
  $result = db_query("SELECT nid FROM {uc_product_stock} WHERE sku = :sku AND nid = :nid AND active = :active AND stock <= :stock", array(
    ':sku' => $model,
    ':nid' => $nid,
    ':active' => 1,
    ':stock' => 0,
  ));
  if ($result
    ->fetchField() > 0) {
    return array(
      array(
        'success' => FALSE,
        'message' => t('@product out of stock', array(
          '@product' => $product->title,
        )),
      ),
    );
  }
}