/** * Save title and price of link item * * @param Faett_Package_Model_Link $linkObject * @return Faett_Package_Model_Mysql4_link */ public function saveItemTitleAndPrice($linkObject) { $stmt = $this->_getReadAdapter()->select()->from($this->getTable('package/link_title'))->where('link_id = ?', $linkObject->getId())->where('store_id = ?', $linkObject->getStoreId()); if ($this->_getReadAdapter()->fetchOne($stmt)) { $where = $this->_getReadAdapter()->quoteInto('link_id = ?', $linkObject->getId()) . ' AND ' . $this->_getReadAdapter()->quoteInto('store_id = ?', $linkObject->getStoreId()); if ($linkObject->getUseDefaultTitle()) { $this->_getWriteAdapter()->delete($this->getTable('package/link_title'), $where); } else { $this->_getWriteAdapter()->update($this->getTable('package/link_title'), array('title' => $linkObject->getTitle()), $where); } } else { if (!$linkObject->getUseDefaultTitle()) { $this->_getWriteAdapter()->insert($this->getTable('package/link_title'), array('link_id' => $linkObject->getId(), 'store_id' => $linkObject->getStoreId(), 'title' => $linkObject->getTitle())); } } $stmt = null; $stmt = $this->_getReadAdapter()->select()->from($this->getTable('package/link_price'))->where('link_id = ?', $linkObject->getId())->where('website_id = ?', $linkObject->getWebsiteId()); if ($this->_getReadAdapter()->fetchOne($stmt)) { $where = $this->_getReadAdapter()->quoteInto('link_id = ?', $linkObject->getId()) . ' AND ' . $this->_getReadAdapter()->quoteInto('website_id = ?', $linkObject->getWebsiteId()); if ($linkObject->getUseDefaultPrice()) { $this->_getReadAdapter()->delete($this->getTable('package/link_price'), $where); } else { $this->_getWriteAdapter()->update($this->getTable('package/link_price'), array('price' => $linkObject->getPrice()), $where); } } else { if (!$linkObject->getUseDefaultPrice()) { $this->_getWriteAdapter()->insert($this->getTable('package/link_price'), array('link_id' => $linkObject->getId(), 'website_id' => $linkObject->getWebsiteId(), 'price' => $linkObject->getPrice())); } } return $this; }