Overview

Packages

  • currencysymbol
  • MAbout
  • Mage
    • Admin
    • Adminhtml
    • AdminNotification
    • Api
    • Api2
    • Authorizenet
    • Backup
    • Bundle
    • Captcha
    • Catalog
    • CatalogIndex
    • CatalogInventory
    • CatalogRule
    • CatalogSearch
    • Centinel
    • Checkout
    • Cms
    • Compiler
    • Connect
    • Contacts
    • Core
    • Cron
    • CurrencySymbol
    • Customer
    • Dataflow
    • Directory
    • DirtectPost
    • Downloadable
    • Eav
    • GiftMessage
    • GoogleAnalytics
    • GoogleBase
    • GoogleCheckout
    • ImportExport
    • Index
    • Install
    • Log
    • Media
    • Newsletter
    • Oauth
    • Page
    • PageCache
    • Paygate
    • Payment
    • Paypal
    • PaypalUk
    • Persistent
    • Poll
    • ProductAlert
    • Rating
    • Reports
    • Review
    • Rss
    • Rule
    • Sales
    • SalesRule
    • Sedfriend
    • Sendfriend
    • Shipping
    • Sitemap
    • Tag
    • Tax
    • Usa
    • Weee
    • Widget
    • Wishlist
    • XmlConnect
  • None
  • Phoenix
    • Moneybookers
  • PHP
  • Zend
    • Date
    • Mime
    • XmlRpc

Classes

  • Mage_Reports_Block_Product_Abstract
  • Mage_Reports_Block_Product_Compared
  • Mage_Reports_Block_Product_Viewed
  • Mage_Reports_Block_Product_Widget_Compared
  • Mage_Reports_Block_Product_Widget_Viewed
  • Mage_Reports_Exception
  • Mage_Reports_Helper_Data
  • Mage_Reports_Model_Config
  • Mage_Reports_Model_Event
  • Mage_Reports_Model_Event_Observer
  • Mage_Reports_Model_Event_Type
  • Mage_Reports_Model_Flag
  • Mage_Reports_Model_Grouped_Collection
  • Mage_Reports_Model_Mysql4_Accounts_Collection
  • Mage_Reports_Model_Mysql4_Coupons_Collection
  • Mage_Reports_Model_Mysql4_Customer_Collection
  • Mage_Reports_Model_Mysql4_Customer_Orders_Collection
  • Mage_Reports_Model_Mysql4_Customer_Totals_Collection
  • Mage_Reports_Model_Mysql4_Entity_Summary_Collection_Abstract
  • Mage_Reports_Model_Mysql4_Event
  • Mage_Reports_Model_Mysql4_Event_Collection
  • Mage_Reports_Model_Mysql4_Event_Type
  • Mage_Reports_Model_Mysql4_Event_Type_Collection
  • Mage_Reports_Model_Mysql4_Invoiced_Collection
  • Mage_Reports_Model_Mysql4_Order_Collection
  • Mage_Reports_Model_Mysql4_Product_Collection
  • Mage_Reports_Model_Mysql4_Product_Downloads_Collection
  • Mage_Reports_Model_Mysql4_Product_Index_Abstract
  • Mage_Reports_Model_Mysql4_Product_Index_Collection_Abstract
  • Mage_Reports_Model_Mysql4_Product_Index_Compared
  • Mage_Reports_Model_Mysql4_Product_Index_Compared_Collection
  • Mage_Reports_Model_Mysql4_Product_Index_Viewed
  • Mage_Reports_Model_Mysql4_Product_Index_Viewed_Collection
  • Mage_Reports_Model_Mysql4_Product_Lowstock_Collection
  • Mage_Reports_Model_Mysql4_Product_Ordered_Collection
  • Mage_Reports_Model_Mysql4_Product_Sold_Collection
  • Mage_Reports_Model_Mysql4_Product_Viewed_Collection
  • Mage_Reports_Model_Mysql4_Quote_Collection
  • Mage_Reports_Model_Mysql4_Refunded_Collection
  • Mage_Reports_Model_Mysql4_Report_Abstract
  • Mage_Reports_Model_Mysql4_Report_Collection
  • Mage_Reports_Model_Mysql4_Review_Collection
  • Mage_Reports_Model_Mysql4_Review_Customer_Collection
  • Mage_Reports_Model_Mysql4_Review_Product_Collection
  • Mage_Reports_Model_Mysql4_Shipping_Collection
  • Mage_Reports_Model_Mysql4_Tag_Collection
  • Mage_Reports_Model_Mysql4_Tag_Customer_Collection
  • Mage_Reports_Model_Mysql4_Tag_Product_Collection
  • Mage_Reports_Model_Mysql4_Tax_Collection
  • Mage_Reports_Model_Mysql4_Wishlist_Collection
  • Mage_Reports_Model_Mysql4_Wishlist_Product_Collection
  • Mage_Reports_Model_Product_Index_Abstract
  • Mage_Reports_Model_Product_Index_Compared
  • Mage_Reports_Model_Product_Index_Viewed
  • Mage_Reports_Model_Report
  • Mage_Reports_Model_Resource_Accounts_Collection
  • Mage_Reports_Model_Resource_Coupons_Collection
  • Mage_Reports_Model_Resource_Customer_Collection
  • Mage_Reports_Model_Resource_Customer_Orders_Collection
  • Mage_Reports_Model_Resource_Customer_Totals_Collection
  • Mage_Reports_Model_Resource_Entity_Summary_Collection_Abstract
  • Mage_Reports_Model_Resource_Event
  • Mage_Reports_Model_Resource_Event_Collection
  • Mage_Reports_Model_Resource_Event_Type
  • Mage_Reports_Model_Resource_Event_Type_Collection
  • Mage_Reports_Model_Resource_Helper_Mysql4
  • Mage_Reports_Model_Resource_Invoiced_Collection
  • Mage_Reports_Model_Resource_Order_Collection
  • Mage_Reports_Model_Resource_Product_Collection
  • Mage_Reports_Model_Resource_Product_Downloads_Collection
  • Mage_Reports_Model_Resource_Product_Index_Abstract
  • Mage_Reports_Model_Resource_Product_Index_Collection_Abstract
  • Mage_Reports_Model_Resource_Product_Index_Compared
  • Mage_Reports_Model_Resource_Product_Index_Compared_Collection
  • Mage_Reports_Model_Resource_Product_Index_Viewed
  • Mage_Reports_Model_Resource_Product_Index_Viewed_Collection
  • Mage_Reports_Model_Resource_Product_Lowstock_Collection
  • Mage_Reports_Model_Resource_Product_Ordered_Collection
  • Mage_Reports_Model_Resource_Product_Sold_Collection
  • Mage_Reports_Model_Resource_Product_Viewed_Collection
  • Mage_Reports_Model_Resource_Quote_Collection
  • Mage_Reports_Model_Resource_Refunded_Collection
  • Mage_Reports_Model_Resource_Report_Abstract
  • Mage_Reports_Model_Resource_Report_Collection
  • Mage_Reports_Model_Resource_Report_Collection_Abstract
  • Mage_Reports_Model_Resource_Report_Product_Viewed
  • Mage_Reports_Model_Resource_Report_Product_Viewed_Collection
  • Mage_Reports_Model_Resource_Review_Collection
  • Mage_Reports_Model_Resource_Review_Customer_Collection
  • Mage_Reports_Model_Resource_Review_Product_Collection
  • Mage_Reports_Model_Resource_Shipping_Collection
  • Mage_Reports_Model_Resource_Shopcart_Product_Collection
  • Mage_Reports_Model_Resource_Tag_Collection
  • Mage_Reports_Model_Resource_Tag_Customer_Collection
  • Mage_Reports_Model_Resource_Tag_Product_Collection
  • Mage_Reports_Model_Resource_Tax_Collection
  • Mage_Reports_Model_Resource_Wishlist_Collection
  • Mage_Reports_Model_Resource_Wishlist_Product_Collection
  • Mage_Reports_Model_Session
  • Mage_Reports_Model_Test
  • Mage_Reports_Model_Totals

Interfaces

  • Mage_Reports_Model_Resource_Helper_Interface
  • Overview
  • Package
  • Class
  • Tree
  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_Reports
 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: /**
 29:  * Reports Event observer model
 30:  *
 31:  * @category   Mage
 32:  * @package    Mage_Reports
 33:  * @author     Magento Core Team <core@magentocommerce.com>
 34:  */
 35: class Mage_Reports_Model_Event_Observer
 36: {
 37:     /**
 38:      * Abstract Event obeserver logic
 39:      *
 40:      * Save event
 41:      *
 42:      * @param int $eventTypeId
 43:      * @param int $objectId
 44:      * @param int $subjectId
 45:      * @param int $subtype
 46:      * @return Mage_Reports_Model_Event_Observer
 47:      */
 48:     protected function _event($eventTypeId, $objectId, $subjectId = null, $subtype = 0)
 49:     {
 50:         if (is_null($subjectId)) {
 51:             if (Mage::getSingleton('customer/session')->isLoggedIn()) {
 52:                 $customer = Mage::getSingleton('customer/session')->getCustomer();
 53:                 $subjectId = $customer->getId();
 54:             }
 55:             else {
 56:                 $subjectId = Mage::getSingleton('log/visitor')->getId();
 57:                 $subtype = 1;
 58:             }
 59:         }
 60: 
 61:         $eventModel = Mage::getModel('reports/event');
 62:         $storeId    = Mage::app()->getStore()->getId();
 63:         $eventModel
 64:             ->setEventTypeId($eventTypeId)
 65:             ->setObjectId($objectId)
 66:             ->setSubjectId($subjectId)
 67:             ->setSubtype($subtype)
 68:             ->setStoreId($storeId);
 69:         $eventModel->save();
 70: 
 71:         return $this;
 72:     }
 73: 
 74:     /**
 75:      * Customer login action
 76:      *
 77:      * @param Varien_Event_Observer $observer
 78:      * @return Mage_Reports_Model_Event_Observer
 79:      */
 80:     public function customerLogin(Varien_Event_Observer $observer)
 81:     {
 82:         if (!Mage::getSingleton('customer/session')->isLoggedIn()) {
 83:             return $this;
 84:         }
 85: 
 86:         $visitorId  = Mage::getSingleton('log/visitor')->getId();
 87:         $customerId = Mage::getSingleton('customer/session')->getCustomerId();
 88:         $eventModel = Mage::getModel('reports/event');
 89:         $eventModel->updateCustomerType($visitorId, $customerId);
 90: 
 91:         Mage::getModel('reports/product_index_compared')
 92:             ->updateCustomerFromVisitor()
 93:             ->calculate();
 94:         Mage::getModel('reports/product_index_viewed')
 95:             ->updateCustomerFromVisitor()
 96:             ->calculate();
 97: 
 98:         return $this;
 99:     }
100: 
101:     /**
102:      * Customer logout processing
103:      *
104:      * @param Varien_Event_Observer $observer
105:      * @return Mage_Reports_Model_Event_Observer
106:      */
107:     public function customerLogout(Varien_Event_Observer $observer)
108:     {
109:         Mage::getModel('reports/product_index_compared')
110:             ->purgeVisitorByCustomer()
111:             ->calculate();
112:         Mage::getModel('reports/product_index_viewed')
113:             ->purgeVisitorByCustomer()
114:             ->calculate();
115:         return $this;
116:     }
117: 
118:     /**
119:      * View Catalog Product action
120:      *
121:      * @param Varien_Event_Observer $observer
122:      * @return Mage_Reports_Model_Event_Observer
123:      */
124:     public function catalogProductView(Varien_Event_Observer $observer)
125:     {
126:         $productId = $observer->getEvent()->getProduct()->getId();
127: 
128:         Mage::getModel('reports/product_index_viewed')
129:             ->setProductId($productId)
130:             ->save()
131:             ->calculate();
132: 
133:         return $this->_event(Mage_Reports_Model_Event::EVENT_PRODUCT_VIEW, $productId);
134:     }
135: 
136:     /**
137:      * Send Product link to friends action
138:      *
139:      * @param Varien_Event_Observer $observer
140:      * @return Mage_Reports_Model_Event_Observer
141:      */
142:     public function sendfriendProduct(Varien_Event_Observer $observer)
143:     {
144:         return $this->_event(Mage_Reports_Model_Event::EVENT_PRODUCT_SEND,
145:             $observer->getEvent()->getProduct()->getId()
146:         );
147:     }
148: 
149:     /**
150:      * Remove Product from Compare Products action
151:      *
152:      * Reset count of compared products cache
153:      *
154:      * @param Varien_Event_Observer $observer
155:      * @return Mage_Reports_Model_Event_Observer
156:      */
157:     public function catalogProductCompareRemoveProduct(Varien_Event_Observer $observer)
158:     {
159:         Mage::getModel('reports/product_index_compared')->calculate();
160: 
161:         return $this;
162:     }
163: 
164:     /**
165:      * Remove All Products from Compare Products
166:      *
167:      * Reset count of compared products cache
168:      *
169:      * @param Varien_Event_Observer $observer
170:      * @return Mage_Reports_Model_Event_Observer
171:      */
172:     public function catalogProductCompareClear(Varien_Event_Observer $observer)
173:     {
174:         Mage::getModel('reports/product_index_compared')->calculate();
175: 
176:         return $this;
177:     }
178: 
179:     /**
180:      * Add Product to Compare Products List action
181:      *
182:      * Reset count of compared products cache
183:      *
184:      * @param Varien_Event_Observer $observer
185:      * @return unknown
186:      */
187:     public function catalogProductCompareAddProduct(Varien_Event_Observer $observer)
188:     {
189:         $productId = $observer->getEvent()->getProduct()->getId();
190: 
191:         Mage::getModel('reports/product_index_compared')
192:             ->setProductId($productId)
193:             ->save()
194:             ->calculate();
195: 
196:         return $this->_event(Mage_Reports_Model_Event::EVENT_PRODUCT_COMPARE, $productId);
197:     }
198: 
199:     /**
200:      * Add product to shopping cart action
201:      *
202:      * @param Varien_Event_Observer $observer
203:      * @return Mage_Reports_Model_Event_Observer
204:      */
205:     public function checkoutCartAddProduct(Varien_Event_Observer $observer)
206:     {
207:         $quoteItem = $observer->getEvent()->getItem();
208:         if (!$quoteItem->getId() && !$quoteItem->getParentItem()) {
209:             $productId = $quoteItem->getProductId();
210:             $this->_event(Mage_Reports_Model_Event::EVENT_PRODUCT_TO_CART, $productId);
211:         }
212:         return $this;
213:     }
214: 
215:     /**
216:      * Add product to wishlist action
217:      *
218:      * @param Varien_Event_Observer $observer
219:      * @return Mage_Reports_Model_Event_Observer
220:      */
221:     public function wishlistAddProduct(Varien_Event_Observer $observer)
222:     {
223:         return $this->_event(Mage_Reports_Model_Event::EVENT_PRODUCT_TO_WISHLIST,
224:             $observer->getEvent()->getProduct()->getId()
225:         );
226:     }
227: 
228:     /**
229:      * Share customer wishlist action
230:      *
231:      * @param Varien_Event_Observer $observer
232:      * @return Mage_Reports_Model_Event_Observer
233:      */
234:     public function wishlistShare(Varien_Event_Observer $observer)
235:     {
236:         return $this->_event(Mage_Reports_Model_Event::EVENT_WISHLIST_SHARE,
237:             $observer->getEvent()->getWishlist()->getId()
238:         );
239:     }
240: 
241:     /**
242:      * Clean events by old visitors
243:      *
244:      * @see Global Log Clean Settings
245:      *
246:      * @param Varien_Event_Observer $observer
247:      * @return Mage_Reports_Model_Event_Observer
248:      */
249:     public function eventClean(Varien_Event_Observer $observer)
250:     {
251:         /* @var $event Mage_Reports_Model_Event */
252:         $event = Mage::getModel('reports/event');
253:         $event->clean();
254: 
255:         Mage::getModel('reports/product_index_compared')->clean();
256:         Mage::getModel('reports/product_index_viewed')->clean();
257: 
258:         return $this;
259:     }
260: }
261: 
Magento 1.7.0.2 API documentation generated by ApiGen 2.8.0