You are here

function uc_wishlist_user_login in UC Wish List 7

Implements hook_user_login().

File

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

Code

function uc_wishlist_user_login(&$edit, $account) {
  $saved_id = empty($_SESSION['uc_wishlist_uid']) ? 0 : $_SESSION['uc_wishlist_uid'];
  $oldwid = db_query("SELECT wid FROM {uc_wishlists} WHERE uid = :uid", array(
    ':uid' => $saved_id,
  ))
    ->fetchField();
  $newwid = uc_wishlist_get_wid();
  if ($oldwid && $newwid) {
    $res = db_query("SELECT * FROM {uc_wishlist_products} WHERE wid = :wid", array(
      ':wid' => $oldwid,
    ));
    foreach ($res as $obj) {

      // NOTE: the delete must precede uc_wishlist_add_item because
      // it may update the old record but we expect it to insert a new record.
      db_delete('uc_wishlist_products')
        ->condition('wpid', $obj->wpid)
        ->execute();
      uc_wishlist_add_item($obj->nid, $obj->qty, unserialize($obj->data), $newwid);
    }
    db_delete('uc_wishlists')
      ->condition('wid', $oldwid)
      ->execute();
  }
  elseif ($oldwid && !$newwid) {
    db_update('uc_wishlists')
      ->fields(array(
      'uid' => $account->uid,
    ))
      ->condition('wid', $oldwid)
      ->execute();
  }
}