PageRenderTime 42ms CodeModel.GetById 20ms app.highlight 3ms RepoModel.GetById 17ms app.codeStats 0ms

/magento/app/code/core/Mage/Adminhtml/Block/Sales/Order/Create/Sidebar/Pcompared.php

https://bitbucket.org/jit_bec/shopifine
PHP | 118 lines | 54 code | 9 blank | 55 comment | 2 complexity | 575dd5832544c66a2b1a397413f09f5d MD5 | raw file
  1<?php
  2/**
  3 * Magento
  4 *
  5 * NOTICE OF LICENSE
  6 *
  7 * This source file is subject to the Open Software License (OSL 3.0)
  8 * that is bundled with this package in the file LICENSE.txt.
  9 * It is also available through the world-wide-web at this URL:
 10 * http://opensource.org/licenses/osl-3.0.php
 11 * If you did not receive a copy of the license and are unable to
 12 * obtain it through the world-wide-web, please send an email
 13 * to license@magentocommerce.com so we can send you a copy immediately.
 14 *
 15 * DISCLAIMER
 16 *
 17 * Do not edit or add to this file if you wish to upgrade Magento to newer
 18 * versions in the future. If you wish to customize Magento for your
 19 * needs please refer to http://www.magentocommerce.com for more information.
 20 *
 21 * @category    Mage
 22 * @package     Mage_Adminhtml
 23 * @copyright   Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
 24 * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 25 */
 26
 27/**
 28 * Adminhtml sales order create sidebar recently compared block
 29 *
 30 * @category   Mage
 31 * @package    Mage_Adminhtml
 32 * @author      Magento Core Team <core@magentocommerce.com>
 33 */
 34
 35class Mage_Adminhtml_Block_Sales_Order_Create_Sidebar_Pcompared extends Mage_Adminhtml_Block_Sales_Order_Create_Sidebar_Abstract
 36{
 37    protected function _construct()
 38    {
 39        parent::_construct();
 40        $this->setId('sales_order_create_sidebar_pcompared');
 41        $this->setDataId('pcompared');
 42    }
 43
 44    public function getHeaderText()
 45    {
 46        return Mage::helper('sales')->__('Recently Compared Products');
 47    }
 48
 49    /**
 50     * Retrieve item collection
 51     *
 52     * @return mixed
 53     */
 54    public function getItemCollection()
 55    {
 56        $productCollection = $this->getData('item_collection');
 57        if (is_null($productCollection)) {
 58            // get products to skip
 59            $skipProducts = array();
 60            if ($collection = $this->getCreateOrderModel()->getCustomerCompareList()) {
 61                $collection = $collection->getItemCollection()
 62                    ->useProductItem(true)
 63                    ->setStoreId($this->getStoreId())
 64                    ->setCustomerId($this->getCustomerId())
 65                    ->load();
 66                foreach ($collection as $_item) {
 67                    $skipProducts[] = $_item->getProductId();
 68                }
 69            }
 70
 71            // prepare products collection and apply visitors log to it
 72            $productCollection = Mage::getModel('catalog/product')->getCollection()
 73                ->setStoreId($this->getQuote()->getStoreId())
 74                ->addStoreFilter($this->getQuote()->getStoreId())
 75                ->addAttributeToSelect('name')
 76                ->addAttributeToSelect('price')
 77                ->addAttributeToSelect('small_image');
 78            Mage::getResourceSingleton('reports/event')->applyLogToCollection(
 79                $productCollection, Mage_Reports_Model_Event::EVENT_PRODUCT_COMPARE, $this->getCustomerId(), 0, $skipProducts
 80            );
 81
 82            $productCollection->load();
 83            $this->setData('item_collection', $productCollection);
 84        }
 85        return $productCollection;
 86    }
 87
 88    /**
 89     * Retrieve availability removing items in block
 90     *
 91     * @return bool
 92     */
 93    public function canRemoveItems()
 94    {
 95        return false;
 96    }
 97
 98    /**
 99     * Get product Id
100     *
101     * @param Mage_Catalog_Model_Product $item
102     * @return int
103     */
104    public function getIdentifierId($item)
105    {
106        return $item->getId();
107    }
108
109    /**
110     * Retrieve product identifier of block item
111     *
112     * @param   mixed $item
113     * @return  int
114     */
115    public function getProductId($item) {
116        return $item->getId();
117    }
118}