예제 #1
0
 /**
  * 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;
 }
예제 #3
0
파일: Links.php 프로젝트: relue/magento2
 /**
  * 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);
 }
예제 #4
0
 /**
  * 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;
 }