You are here

function _commerce_wishlist_add_product in Commerce Wishlist 7.2

Adds a product to the wishlist.

2 calls to _commerce_wishlist_add_product()
commerce_wishlist_add_form_submit in ./commerce_wishlist.module
Submit callback for commerce_cart_add_to_cart_form().
commerce_wishlist_operations in ./commerce_wishlist.module
Menu callback: Perform various actions (add to wishlist etc).

File

./commerce_wishlist.module, line 600
Provides the wishlist for use in Drupal Commerce.

Code

function _commerce_wishlist_add_product($fields) {

  // Load necessary entities and invoke the rule.
  $product = commerce_product_load($fields['product_id']);
  $account = user_load($fields['uid']);
  $node = node_load($fields['nid']);
  rules_invoke_event('commerce_wishlist_event_product_added_to_wishlist', $account, $product, $node);

  // Create a new wishlist entry for the user if they don't already have one.
  if (!($wishlist = _commerce_wishlist_load_wishlist($account->uid))) {
    $wishlist = _commerce_wishlist_create_wishlist($account->uid);
  }
  $wishlist_item = (object) array(
    'item_id' => NULL,
    'wishlist_id' => $wishlist->wishlist_id,
    'nid' => $fields['nid'],
    'product_id' => $fields['product_id'],
    'quantity' => $fields['quantity'],
    'added' => REQUEST_TIME,
  );
  drupal_write_record('commerce_wishlist_item', $wishlist_item);
  return $wishlist_item;
}