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_Review_Block_Customer_List
  • Mage_Review_Block_Customer_Recent
  • Mage_Review_Block_Customer_View
  • Mage_Review_Block_Form
  • Mage_Review_Block_Helper
  • Mage_Review_Block_Product_View
  • Mage_Review_Block_Product_View_List
  • Mage_Review_Block_View
  • Mage_Review_CustomerController
  • Mage_Review_Helper_Data
  • Mage_Review_Model_Mysql4_Review
  • Mage_Review_Model_Mysql4_Review_Collection
  • Mage_Review_Model_Mysql4_Review_Product_Collection
  • Mage_Review_Model_Mysql4_Review_Status_Collection
  • Mage_Review_Model_Mysql4_Review_Summary
  • Mage_Review_Model_Mysql4_Review_Summary_Collection
  • Mage_Review_Model_Observer
  • Mage_Review_Model_Resource_Review
  • Mage_Review_Model_Resource_Review_Collection
  • Mage_Review_Model_Resource_Review_Product_Collection
  • Mage_Review_Model_Resource_Review_Status
  • Mage_Review_Model_Resource_Review_Status_Collection
  • Mage_Review_Model_Resource_Review_Summary
  • Mage_Review_Model_Resource_Review_Summary_Collection
  • Mage_Review_Model_Review
  • Mage_Review_Model_Review_Status
  • Mage_Review_Model_Review_Summary
  • Mage_Review_Model_Session
  • Mage_Review_ProductController
  • 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_Review
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:  * Review summary resource model
30:  *
31:  * @category    Mage
32:  * @package     Mage_Review
33:  * @author      Magento Core Team <core@magentocommerce.com>
34:  */
35: class Mage_Review_Model_Resource_Review_Summary extends Mage_Core_Model_Resource_Db_Abstract
36: {
37:     /**
38:      * Define module
39:      *
40:      */
41:     protected function _construct()
42:     {
43:         $this->_init('review/review_aggregate', 'entity_pk_value');
44:     }
45: 
46:     /**
47:      * Retrieve select object for load object data
48:      *
49:      * @param string $field
50:      * @param mixed $value
51:      * @param Mage_Core_Model_Abstract $object
52:      * @return unknown
53:      */
54:     protected function _getLoadSelect($field, $value, $object)
55:     {
56:         $select = parent::_getLoadSelect($field, $value, $object);
57:         $select->where('store_id = ?', (int)$object->getStoreId());
58:         return $select;
59:     }
60: 
61:     /**
62:      * Reaggregate all data by rating summary
63:      *
64:      * @param array $summary
65:      * @return Mage_Review_Model_Resource_Review_Summary
66:      */
67:     public function reAggregate($summary)
68:     {
69:         $adapter = $this->_getWriteAdapter();
70:         $select = $adapter->select()
71:             ->from($this->getMainTable(),
72:                 array(
73:                     'primary_id' => new Zend_Db_Expr('MAX(primary_id)'),
74:                     'store_id',
75:                     'entity_pk_value'
76:                 ))
77:             ->group(array('entity_pk_value', 'store_id'));
78:         foreach ($adapter->fetchAll($select) as $row) {
79:             if (isset($summary[$row['store_id']]) && isset($summary[$row['store_id']][$row['entity_pk_value']])) {
80:                 $summaryItem = $summary[$row['store_id']][$row['entity_pk_value']];
81:                 if ($summaryItem->getCount()) {
82:                     $ratingSummary = round($summaryItem->getSum() / $summaryItem->getCount());
83:                 } else {
84:                     $ratingSummary = $summaryItem->getSum();
85:                 }
86:             } else {
87:                 $ratingSummary = 0;
88:             }
89:             $adapter->update(
90:                 $this->getMainTable(),
91:                 array('rating_summary' => $ratingSummary),
92:                 $adapter->quoteInto('primary_id = ?', $row['primary_id'])
93:             );
94:         }
95:         return $this;
96:     }
97: }
98: 
Magento 1.7.0.2 API documentation generated by ApiGen 2.8.0