/** * Save title and price of link item * * @param Mage_Downloadable_Model_Link $linkObject * @return Mage_Downloadable_Model_Mysql4_link */ public function saveItemTitleAndPrice($linkObject) { $stmt = $this->_getReadAdapter()->select()->from($this->getTable('downloadable/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('downloadable/link_title'), $where); } else { $this->_getWriteAdapter()->update($this->getTable('downloadable/link_title'), array('title' => $linkObject->getTitle()), $where); } } else { if (!$linkObject->getUseDefaultTitle()) { $this->_getWriteAdapter()->insert($this->getTable('downloadable/link_title'), array('link_id' => $linkObject->getId(), 'store_id' => $linkObject->getStoreId(), 'title' => $linkObject->getTitle())); } } $stmt = null; $stmt = $this->_getReadAdapter()->select()->from($this->getTable('downloadable/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('downloadable/link_price'), $where); } else { $this->_getWriteAdapter()->update($this->getTable('downloadable/link_price'), array('price' => $linkObject->getPrice()), $where); } } else { if (!$linkObject->getUseDefaultPrice()) { $this->_getWriteAdapter()->insert($this->getTable('downloadable/link_price'), array('link_id' => $linkObject->getId(), 'website_id' => $linkObject->getWebsiteId(), 'price' => $linkObject->getPrice())); } } return $this; }
/** * Delete data by item(s) * * @param Mage_Downloadable_Model_Link|array|int $items * @return Mage_Downloadable_Model_Resource_Link */ public function deleteItems($items) { $writeAdapter = $this->_getWriteAdapter(); $where = array(); if ($items instanceof Mage_Downloadable_Model_Link) { $where = array('link_id = ?' => $items->getId()); } elseif (is_array($items)) { $where = array('link_id in (?)' => $items); } else { $where = array('sample_id = ?' => $items); } if ($where) { $writeAdapter->delete($this->getMainTable(), $where); $writeAdapter->delete($this->getTable('downloadable/link_title'), $where); $writeAdapter->delete($this->getTable('downloadable/link_price'), $where); } return $this; }
/** * Returns whether link checked by default or not * * @param Mage_Downloadable_Model_Link $link * @return bool */ public function getIsLinkChecked($link) { $configValue = $this->getProduct()->getPreconfiguredValues()->getLinks(); if (!$configValue || !is_array($configValue)) { return false; } return $configValue && in_array($link->getId(), $configValue); }
/** * Delete data by item(s) * * @param Mage_Downloadable_Model_Link|array|int $items * @return Mage_Downloadable_Model_Mysql4_Link */ public function deleteItems($items) { $where = ''; if ($items instanceof Mage_Downloadable_Model_Link) { $where = $this->_getReadAdapter()->quoteInto('link_id = ?', $items->getId()); } elseif (is_array($items)) { $where = $this->_getReadAdapter()->quoteInto('link_id in (?)', $items); } else { $where = $this->_getReadAdapter()->quoteInto('sample_id = ?', $items); } if ($where) { $this->_getWriteAdapter()->delete($this->getTable('downloadable/link'), $where); $this->_getWriteAdapter()->delete($this->getTable('downloadable/link_title'), $where); $this->_getWriteAdapter()->delete($this->getTable('downloadable/link_price'), $where); } return $this; }