| Server IP : 213.186.33.4 / Your IP : 216.73.216.193 Web Server : Apache System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : awebpaca ( 35430) PHP Version : 8.5.0 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/awebpaca/boutiques/app/code/core/Mage/Adminhtml/controllers/Report/ |
Upload 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@magentocommerce.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.magentocommerce.com for more information.
*
* @category Mage
* @package Mage_Adminhtml
* @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
/**
* Sales report admin controller
*
* @category Mage
* @package Mage_Adminhtml
* @author Magento Core Team <core@magentocommerce.com>
*/
class Mage_Adminhtml_Report_SalesController extends Mage_Adminhtml_Controller_Action
{
/**
* Admin session model
*
* @var null|Mage_Admin_Model_Session
*/
protected $_adminSession = null;
public function _initAction()
{
$act = $this->getRequest()->getActionName();
if(!$act) {
$act = 'default';
}
$this->loadLayout()
->_addBreadcrumb(Mage::helper('reports')->__('Reports'), Mage::helper('reports')->__('Reports'))
->_addBreadcrumb(Mage::helper('reports')->__('Sales'), Mage::helper('reports')->__('Sales'));
return $this;
}
public function _initReportAction($blocks)
{
if (!is_array($blocks)) {
$blocks = array($blocks);
}
$requestData = Mage::helper('adminhtml')->prepareFilterString($this->getRequest()->getParam('filter'));
$requestData = $this->_filterDates($requestData, array('from', 'to'));
$requestData['store_ids'] = $this->getRequest()->getParam('store_ids');
$params = new Varien_Object();
foreach ($requestData as $key => $value) {
if (!empty($value)) {
$params->setData($key, $value);
}
}
foreach ($blocks as $block) {
if ($block) {
$block->setPeriodType($params->getData('period_type'));
$block->setFilterData($params);
}
}
return $this;
}
public function salesAction()
{
$this->_title($this->__('Reports'))->_title($this->__('Sales'))->_title($this->__('Sales'));
$this->_showLastExecutionTime(Mage_Reports_Model_Flag::REPORT_ORDER_FLAG_CODE, 'sales');
$this->_initAction()
->_setActiveMenu('report/sales/sales')
->_addBreadcrumb(Mage::helper('adminhtml')->__('Sales Report'), Mage::helper('adminhtml')->__('Sales Report'));
$gridBlock = $this->getLayout()->getBlock('report_sales_sales.grid');
$filterFormBlock = $this->getLayout()->getBlock('grid.filter.form');
$this->_initReportAction(array(
$gridBlock,
$filterFormBlock
));
$this->renderLayout();
}
public function bestsellersAction()
{
$this->_title($this->__('Reports'))->_title($this->__('Products'))->_title($this->__('Bestsellers'));
$this->_showLastExecutionTime(Mage_Reports_Model_Flag::REPORT_BESTSELLERS_FLAG_CODE, 'bestsellers');
$this->_initAction()
->_setActiveMenu('report/sales/bestsellers')
->_addBreadcrumb(Mage::helper('adminhtml')->__('Products Bestsellers Report'), Mage::helper('adminhtml')->__('Products Bestsellers Report'));
$gridBlock = $this->getLayout()->getBlock('report_sales_bestsellers.grid');
$filterFormBlock = $this->getLayout()->getBlock('grid.filter.form');
$this->_initReportAction(array(
$gridBlock,
$filterFormBlock
));
$this->renderLayout();
}
/**
* Export bestsellers report grid to CSV format
*/
public function exportBestsellersCsvAction()
{
$fileName = 'bestsellers.csv';
$grid = $this->getLayout()->createBlock('adminhtml/report_sales_bestsellers_grid');
$this->_initReportAction($grid);
$this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
}
/**
* Export bestsellers report grid to Excel XML format
*/
public function exportBestsellersExcelAction()
{
$fileName = 'bestsellers.xml';
$grid = $this->getLayout()->createBlock('adminhtml/report_sales_bestsellers_grid');
$this->_initReportAction($grid);
$this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
}
/**
* Retrieve array of collection names by code specified in request
*
* @deprecated after 1.4.0.1
* @return array
*/
protected function _getCollectionNames()
{
return array();
}
protected function _showLastExecutionTime($flagCode, $refreshCode)
{
$flag = Mage::getModel('reports/flag')->setReportFlagCode($flagCode)->loadSelf();
$updatedAt = ($flag->hasData())
? Mage::app()->getLocale()->storeDate(
0, new Zend_Date($flag->getLastUpdate(), Varien_Date::DATETIME_INTERNAL_FORMAT), true
)
: 'undefined';
$refreshStatsLink = $this->getUrl('*/*/refreshstatistics');
$directRefreshLink = $this->getUrl('*/*/refreshRecent', array('code' => $refreshCode));
Mage::getSingleton('adminhtml/session')->addNotice(Mage::helper('adminhtml')->__('Last updated: %s. To refresh last day\'s <a href="%s">statistics</a>, click <a href="%s">here</a>.', $updatedAt, $refreshStatsLink, $directRefreshLink));
return $this;
}
/**
* Refresh statistics for last 25 hours
*
* @deprecated after 1.4.0.1
* @return Mage_Adminhtml_Report_SalesController
*/
public function refreshRecentAction()
{
return $this->_forward('refreshRecent', 'report_statistics');
}
/**
* Refresh statistics for all period
*
* @deprecated after 1.4.0.1
* @return Mage_Adminhtml_Report_SalesController
*/
public function refreshLifetimeAction()
{
return $this->_forward('refreshLifetime', 'report_statistics');
}
/**
* Export sales report grid to CSV format
*/
public function exportSalesCsvAction()
{
$fileName = 'sales.csv';
$grid = $this->getLayout()->createBlock('adminhtml/report_sales_sales_grid');
$this->_initReportAction($grid);
$this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
}
/**
* Export sales report grid to Excel XML format
*/
public function exportSalesExcelAction()
{
$fileName = 'sales.xml';
$grid = $this->getLayout()->createBlock('adminhtml/report_sales_sales_grid');
$this->_initReportAction($grid);
$this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
}
public function taxAction()
{
$this->_title($this->__('Reports'))->_title($this->__('Sales'))->_title($this->__('Tax'));
$this->_showLastExecutionTime(Mage_Reports_Model_Flag::REPORT_TAX_FLAG_CODE, 'tax');
$this->_initAction()
->_setActiveMenu('report/sales/tax')
->_addBreadcrumb(Mage::helper('adminhtml')->__('Tax'), Mage::helper('adminhtml')->__('Tax'));
$gridBlock = $this->getLayout()->getBlock('report_sales_tax.grid');
$filterFormBlock = $this->getLayout()->getBlock('grid.filter.form');
$this->_initReportAction(array(
$gridBlock,
$filterFormBlock
));
$this->renderLayout();
}
/**
* Export tax report grid to CSV format
*/
public function exportTaxCsvAction()
{
$fileName = 'tax.csv';
$grid = $this->getLayout()->createBlock('adminhtml/report_sales_tax_grid');
$this->_initReportAction($grid);
$this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
}
/**
* Export tax report grid to Excel XML format
*/
public function exportTaxExcelAction()
{
$fileName = 'tax.xml';
$grid = $this->getLayout()->createBlock('adminhtml/report_sales_tax_grid');
$this->_initReportAction($grid);
$this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
}
public function shippingAction()
{
$this->_title($this->__('Reports'))->_title($this->__('Sales'))->_title($this->__('Shipping'));
$this->_showLastExecutionTime(Mage_Reports_Model_Flag::REPORT_SHIPPING_FLAG_CODE, 'shipping');
$this->_initAction()
->_setActiveMenu('report/sales/shipping')
->_addBreadcrumb(Mage::helper('adminhtml')->__('Shipping'), Mage::helper('adminhtml')->__('Shipping'));
$gridBlock = $this->getLayout()->getBlock('report_sales_shipping.grid');
$filterFormBlock = $this->getLayout()->getBlock('grid.filter.form');
$this->_initReportAction(array(
$gridBlock,
$filterFormBlock
));
$this->renderLayout();
}
/**
* Export shipping report grid to CSV format
*/
public function exportShippingCsvAction()
{
$fileName = 'shipping.csv';
$grid = $this->getLayout()->createBlock('adminhtml/report_sales_shipping_grid');
$this->_initReportAction($grid);
$this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
}
/**
* Export shipping report grid to Excel XML format
*/
public function exportShippingExcelAction()
{
$fileName = 'shipping.xml';
$grid = $this->getLayout()->createBlock('adminhtml/report_sales_shipping_grid');
$this->_initReportAction($grid);
$this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
}
public function invoicedAction()
{
$this->_title($this->__('Reports'))->_title($this->__('Sales'))->_title($this->__('Total Invoiced'));
$this->_showLastExecutionTime(Mage_Reports_Model_Flag::REPORT_INVOICE_FLAG_CODE, 'invoiced');
$this->_initAction()
->_setActiveMenu('report/sales/invoiced')
->_addBreadcrumb(Mage::helper('adminhtml')->__('Total Invoiced'), Mage::helper('adminhtml')->__('Total Invoiced'));
$gridBlock = $this->getLayout()->getBlock('report_sales_invoiced.grid');
$filterFormBlock = $this->getLayout()->getBlock('grid.filter.form');
$this->_initReportAction(array(
$gridBlock,
$filterFormBlock
));
$this->renderLayout();
}
/**
* Export invoiced report grid to CSV format
*/
public function exportInvoicedCsvAction()
{
$fileName = 'invoiced.csv';
$grid = $this->getLayout()->createBlock('adminhtml/report_sales_invoiced_grid');
$this->_initReportAction($grid);
$this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
}
/**
* Export invoiced report grid to Excel XML format
*/
public function exportInvoicedExcelAction()
{
$fileName = 'invoiced.xml';
$grid = $this->getLayout()->createBlock('adminhtml/report_sales_invoiced_grid');
$this->_initReportAction($grid);
$this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
}
public function refundedAction()
{
$this->_title($this->__('Reports'))->_title($this->__('Sales'))->_title($this->__('Total Refunded'));
$this->_showLastExecutionTime(Mage_Reports_Model_Flag::REPORT_REFUNDED_FLAG_CODE, 'refunded');
$this->_initAction()
->_setActiveMenu('report/sales/refunded')
->_addBreadcrumb(Mage::helper('adminhtml')->__('Total Refunded'), Mage::helper('adminhtml')->__('Total Refunded'));
$gridBlock = $this->getLayout()->getBlock('report_sales_refunded.grid');
$filterFormBlock = $this->getLayout()->getBlock('grid.filter.form');
$this->_initReportAction(array(
$gridBlock,
$filterFormBlock
));
$this->renderLayout();
}
/**
* Export refunded report grid to CSV format
*/
public function exportRefundedCsvAction()
{
$fileName = 'refunded.csv';
$grid = $this->getLayout()->createBlock('adminhtml/report_sales_refunded_grid');
$this->_initReportAction($grid);
$this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
}
/**
* Export refunded report grid to Excel XML format
*/
public function exportRefundedExcelAction()
{
$fileName = 'refunded.xml';
$grid = $this->getLayout()->createBlock('adminhtml/report_sales_refunded_grid');
$this->_initReportAction($grid);
$this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
}
public function couponsAction()
{
$this->_title($this->__('Reports'))->_title($this->__('Sales'))->_title($this->__('Coupons'));
$this->_showLastExecutionTime(Mage_Reports_Model_Flag::REPORT_COUPONS_FLAG_CODE, 'coupons');
$this->_initAction()
->_setActiveMenu('report/sales/coupons')
->_addBreadcrumb(Mage::helper('adminhtml')->__('Coupons'), Mage::helper('adminhtml')->__('Coupons'));
$gridBlock = $this->getLayout()->getBlock('report_sales_coupons.grid');
$filterFormBlock = $this->getLayout()->getBlock('grid.filter.form');
$this->_initReportAction(array(
$gridBlock,
$filterFormBlock
));
$this->renderLayout();
}
/**
* Export coupons report grid to CSV format
*/
public function exportCouponsCsvAction()
{
$fileName = 'coupons.csv';
$grid = $this->getLayout()->createBlock('adminhtml/report_sales_coupons_grid');
$this->_initReportAction($grid);
$this->_prepareDownloadResponse($fileName, $grid->getCsvFile());
}
/**
* Export coupons report grid to Excel XML format
*/
public function exportCouponsExcelAction()
{
$fileName = 'coupons.xml';
$grid = $this->getLayout()->createBlock('adminhtml/report_sales_coupons_grid');
$this->_initReportAction($grid);
$this->_prepareDownloadResponse($fileName, $grid->getExcelFile($fileName));
}
/**
* @deprecated after 1.4.0.1
*/
public function refreshStatisticsAction()
{
return $this->_forward('index', 'report_statistics');
}
protected function _isAllowed()
{
switch ($this->getRequest()->getActionName()) {
case 'sales':
return $this->_getSession()->isAllowed('report/salesroot/sales');
break;
case 'tax':
return $this->_getSession()->isAllowed('report/salesroot/tax');
break;
case 'shipping':
return $this->_getSession()->isAllowed('report/salesroot/shipping');
break;
case 'invoiced':
return $this->_getSession()->isAllowed('report/salesroot/invoiced');
break;
case 'refunded':
return $this->_getSession()->isAllowed('report/salesroot/refunded');
break;
case 'coupons':
return $this->_getSession()->isAllowed('report/salesroot/coupons');
break;
case 'shipping':
return $this->_getSession()->isAllowed('report/salesroot/shipping');
break;
case 'bestsellers':
return $this->_getSession()->isAllowed('report/products/ordered');
break;
default:
return $this->_getSession()->isAllowed('report/salesroot');
break;
}
}
/**
* Retrieve admin session model
*
* @return Mage_Admin_Model_Session
*/
protected function _getSession()
{
if (is_null($this->_adminSession)) {
$this->_adminSession = Mage::getSingleton('admin/session');
}
return $this->_adminSession;
}
}