public function updateItemOptionsAction() { if (!Mage::helper('multiplewishlist')->isEnabled()) { return parent::updateItemOptionsAction(); } $session = Mage::getSingleton('customer/session'); $wishlist = $this->_getWishlist(); if (!$wishlist) { $this->_redirect('*/'); return; } $productId = (int) $this->getRequest()->getParam('product'); if (!$productId) { $this->_redirect('*/'); return; } $product = Mage::getModel('catalog/product')->load($productId); if (!$product->getId() || !$product->isVisibleInCatalog()) { $session->addError($this->__('Cannot specify product.')); $this->_redirect('*/'); return; } try { $id = (int) $this->getRequest()->getParam('id'); $buyRequest = new Varien_Object($this->getRequest()->getParams()); /* BELVG START */ $item_old = Mage::getModel('multiplewishlist/item')->checkItemExists($wishlist->getId(), $wishlist->getItem($id)->getId()); /* BELVG END */ $wishlist->updateItem($id, $buyRequest)->save(); Mage::helper('wishlist')->calculate(); Mage::dispatchEvent('wishlist_update_item', array('wishlist' => $wishlist, 'product' => $product, 'item' => $wishlist->getItem($id))); Mage::helper('wishlist')->calculate(); /* BELVG START */ if ($item_old) { $tab = Mage::getModel('multiplewishlist/tab')->checkTabExistsById($wishlist->getId(), $item_old->getWishlistTabId()); if ($tab->getId()) { Mage::getModel('core/session')->setWishlistActiveTabId($tab->getId()); $item = Mage::getResourceModel('wishlist/item_collection')->addWishlistFilter($wishlist)->addStoreFilter($wishlist->getSharedStoreIds())->setVisibilityFilter()->addFieldToFilter('product_id', $product->getId())->getFirstItem(); Mage::getModel('multiplewishlist/item')->getItem($wishlist, $tab, $item); } if ($item_old) { $item_old->delete(); } } /* BELVG END */ $message = $this->__('%1$s has been updated in your wishlist.', $product->getName()); $session->addSuccess($message); } catch (Mage_Core_Exception $e) { $session->addError($e->getMessage()); } catch (Exception $e) { $session->addError($this->__('An error occurred while updating wishlist.')); Mage::logException($e); } $this->_redirect('*/*'); }