/app/code/core/Mage/ProductAlert/Model/Resource/Abstract.php
PHP | 96 lines | 41 code | 4 blank | 51 comment | 5 complexity | 609156c197bfb0cd505152c2541a54ab MD5 | raw file
- <?php
- /**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magento.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magento.com for more information.
- *
- * @category Mage
- * @package Mage_ProductAlert
- * @copyright Copyright (c) 2006-2020 Magento, Inc. (http://www.magento.com)
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
- */
- /**
- * Product alert for back in abstract resource model
- *
- * @category Mage
- * @package Mage_ProductAlert
- * @author Magento Core Team <core@magentocommerce.com>
- */
- abstract class Mage_ProductAlert_Model_Resource_Abstract extends Mage_Core_Model_Resource_Db_Abstract
- {
- /**
- * Retrieve alert row by object parameters
- *
- * @param Mage_Core_Model_Abstract $object
- * @return array|bool
- */
- protected function _getAlertRow(Mage_Core_Model_Abstract $object)
- {
- $adapter = $this->_getReadAdapter();
- if ($object->getCustomerId() && $object->getProductId() && $object->getWebsiteId()) {
- $select = $adapter->select()
- ->from($this->getMainTable())
- ->where('customer_id = :customer_id')
- ->where('product_id = :product_id')
- ->where('website_id = :website_id');
- $bind = array(
- ':customer_id' => $object->getCustomerId(),
- ':product_id' => $object->getProductId(),
- ':website_id' => $object->getWebsiteId()
- );
- return $adapter->fetchRow($select, $bind);
- }
- return false;
- }
- /**
- * Load object data by parameters
- *
- * @param Mage_Core_Model_Abstract $object
- * @return Mage_ProductAlert_Model_Resource_Abstract
- */
- public function loadByParam(Mage_Core_Model_Abstract $object)
- {
- $row = $this->_getAlertRow($object);
- if ($row) {
- $object->setData($row);
- }
- return $this;
- }
- /**
- * Delete all customer alerts on website
- *
- * @param Mage_Core_Model_Abstract $object
- * @param int $customerId
- * @param int $websiteId
- * @return Mage_ProductAlert_Model_Resource_Abstract
- */
- public function deleteCustomer(Mage_Core_Model_Abstract $object, $customerId, $websiteId=null)
- {
- $adapter = $this->_getWriteAdapter();
- $where = array();
- $where[] = $adapter->quoteInto('customer_id=?', $customerId);
- if ($websiteId) {
- $where[] = $adapter->quoteInto('website_id=?', $websiteId);
- }
- $adapter->delete($this->getMainTable(), $where);
- return $this;
- }
- }