You are here

function uc_wishlist_get_product in UC Wish List 7

Same name and namespace in other branches
  1. 6 uc_wishlist.module \uc_wishlist_get_product()

Returns a wish list cart product given its wpid.

1 call to uc_wishlist_get_product()
uc_wishlist_uc_order in ./uc_wishlist.module
Implements hook_uc_order().

File

./uc_wishlist.module, line 641
Allows users to create public shopping/wish lists.

Code

function uc_wishlist_get_product($wpid) {
  if (!$wpid) {
    return FALSE;
  }
  $item = FALSE;
  $query = db_select('node', 'n');
  $query
    ->join('uc_wishlist_products', 'w', 'n.nid = w.nid');
  $query
    ->fields('w');
  $query
    ->addField('n', 'title');
  $query
    ->addField('n', 'vid');
  $query
    ->condition('w.wpid', $wpid);
  $query
    ->addTag('node_access');
  $res = $query
    ->execute();
  foreach ($res as $item) {
    $product = node_load($item->nid);
    $item->model = $product->model;
    $item->cost = $product->cost;
    $item->price = $product->sell_price;
    $item->weight = $product->weight;
    $item->weight_units = $product->weight_units;
    $item->shippable = $product->shippable;
    $item->data = unserialize($item->data);
    $item->module = $item->data['module'];
    $item->purchase = unserialize($item->purchase);
    $item->options = array();

    // Add wishlist id data.
    $item->data['wid'] = $item->wid;
    $item->data['wpid'] = $item->wpid;

    // Invoke hook_uc_update_cart_item() in enabled modules.
    // An especially important hook is uc_attribute_cart_item which
    // updates the item given the attributes.
    foreach (module_implements('uc_update_cart_item') as $module) {
      $func = $module . '_uc_update_cart_item';
      $func($item->nid, $item->data, $item->qty);
    }
  }
  return $item;
}