![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-reports/Controller/Adminhtml/Report/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Reports\Controller\Adminhtml\Report; use Magento\Backend\Model\Auth\Session as AuthSession; use Magento\Backend\Model\Session; use Magento\Framework\App\Action\HttpGetActionInterface; /** * Report statistics admin controller. * * @api * @since 100.0.2 */ abstract class Statistics extends \Magento\Backend\App\Action implements HttpGetActionInterface { /** * Authorization level of a basic admin session * * @see _isAllowed() */ const ADMIN_RESOURCE = 'Magento_Reports::statistics'; /** * Admin session model * * @var null|AuthSession */ protected $_adminSession = null; /** * @var \Magento\Framework\Stdlib\DateTime\Filter\Date */ protected $_dateFilter; /** * Codes for Refresh Statistics * * @var [] */ protected $reportTypes; /** * @param \Magento\Backend\App\Action\Context $context * @param \Magento\Framework\Stdlib\DateTime\Filter\Date $dateFilter * @param array $reportTypes */ public function __construct( \Magento\Backend\App\Action\Context $context, \Magento\Framework\Stdlib\DateTime\Filter\Date $dateFilter, array $reportTypes ) { $this->_dateFilter = $dateFilter; $this->reportTypes = $reportTypes; parent::__construct($context); } /** * Add reports and statistics breadcrumbs * * @return $this */ public function _initAction() { $this->_view->loadLayout(); $this->_addBreadcrumb(__('Reports'), __('Reports')); $this->_addBreadcrumb(__('Statistics'), __('Statistics')); return $this; } /** * Retrieve array of collection names by code specified in request * * @return array * @throws \Exception */ protected function _getCollectionNames() { $codes = $this->getRequest()->getParam('code'); if (!$codes) { throw new \Exception(__('No report code is specified.')); } if (!is_array($codes) && strpos($codes, ',') === false) { $codes = [$codes]; } elseif (!is_array($codes)) { $codes = explode(',', $codes); } $out = []; foreach ($codes as $code) { $out[] = $this->reportTypes[$code]; } return $out; } /** * Retrieve admin session model * * @return AuthSession|Session|mixed|null */ protected function _getSession() { if ($this->_adminSession === null) { $this->_adminSession = $this->_objectManager->get(\Magento\Backend\Model\Auth\Session::class); } return $this->_adminSession; } }