0byt3m1n1
Path:
/
data
/
applications
/
aps
/
magento
/
1.1.3-2
/
standard
/
htdocs
/
app
/
code
/
core
/
Mage
/
Reports
/
Model
/
[
Home
]
File: Totals.php
<?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@magentocommerce.com so we can send you a copy immediately. * * @category Mage * @package Mage_Reports * @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com) * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) */ /** * Totals Class * * @category Mage * @package Mage_Reports * @author Magento Core Team <core@magentocommerce.com> */ class Mage_Reports_Model_Totals { public function countTotals($grid, $from, $to) { $columns = array(); foreach ($grid->getColumns() as $col) $columns[$col->getIndex()] = array("total" => $col->getTotal(), "value" => 0); $count = 0; $report = $grid->getCollection()->getReportFull($from, $to); foreach ($report as $item) { $data = $item->getData(); foreach ($columns as $field=>$a){ if ($field !== '') { $columns[$field]['value'] = $columns[$field]['value'] + (isset($data[$field]) ? $data[$field] : 0); } } $count++; } $data = array(); foreach ($columns as $field=>$a) { if ($a['total'] == 'avg') { if ($field !== '') { if ($count != 0) { $data[$field] = $a['value']/$count; } else { $data[$field] = 0; } } } else if ($a['total'] == 'sum') { if ($field !== '') { $data[$field] = $a['value']; } } else if (strpos($a['total'], '/') !== FALSE) { if ($field !== '') { $data[$field] = 0; } } } $totals = new Varien_Object(); $totals->setData($data); return $totals; } }