You are here

function uc_product_uc_update_cart_item in Ubercart 7.3

Same name and namespace in other branches
  1. 8.4 uc_product/uc_product.module \uc_product_uc_update_cart_item()

Implements hook_uc_update_cart_item().

1 call to uc_product_uc_update_cart_item()
uc_product_kit_uc_update_cart_item in uc_product_kit/uc_product_kit.module
Implements hook_uc_update_cart_item().

File

uc_product/uc_product.module, line 1078
The product module for Ubercart.

Code

function uc_product_uc_update_cart_item($nid, $data = array(), $qty, $cid = NULL) {
  if (!$nid) {
    return NULL;
  }
  $cid = !(is_null($cid) || empty($cid)) ? $cid : uc_cart_get_id();
  $efq = new EntityFieldQuery();
  $result = $efq
    ->entityCondition('entity_type', 'uc_cart_item')
    ->propertyCondition('cart_id', $cid)
    ->propertyCondition('nid', $nid)
    ->propertyCondition('data', serialize($data))
    ->execute();
  if (!empty($result['uc_cart_item'])) {
    $item_entity = entity_load_single('uc_cart_item', current(array_keys($result['uc_cart_item'])));
    if ($item_entity->qty != $qty) {
      $item_entity->qty = $qty;
      entity_save('uc_cart_item', $item_entity);
    }
  }
}