Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/sale/lib/integration/report/ |
Upload File : |
<?php namespace Bitrix\Sale\Integration\Report; use Bitrix\Main\Localization\Loc; use Bitrix\Report\ReportTable; use Bitrix\Report\VisualConstructor\AnalyticBoard; use Bitrix\Report\VisualConstructor\AnalyticBoardBatch; class EventHandler { const BATCH_GROUP_SALES_GENERAL = 'sales_general'; const BATCH_INTERNET_SHOP = 'sale_internet_shop'; const REPORT_KEY = 'sale_report_board_'; const REPORT_VIEW_URL = '/shop/settings/sale_report_view.php'; /** * @return AnalyticBoardBatch[] */ public static function onAnalyticPageBatchCollect() { $batchList = []; if(!\CBXFeatures::IsFeatureEnabled('SaleReports')) { return $batchList; } $batch = new AnalyticBoardBatch(); $batch->setKey(static::BATCH_INTERNET_SHOP); $batch->setTitle(Loc::getMessage("SALE_REPORT_INTERNET_SHOP_BATCH_TITLE")); $batch->setOrder(300); if (method_exists($batch, 'setGroup')) { $batch->setGroup(self::BATCH_GROUP_SALES_GENERAL); } $batchList[] = $batch; return $batchList; } /** * @return AnalyticBoard[] */ public static function onAnalyticPageCollect() { $analyticPageList = []; if(!\CBXFeatures::IsFeatureEnabled('SaleReports')) { return $analyticPageList; } \CBaseSaleReportHelper::initOwners(); $cursor = ReportTable::getList([ 'select' => ['ID', 'TITLE'], 'filter' => [ '=CREATED_BY' => static::getCurrentUserId(), '=OWNER_ID' => \CBaseSaleReportHelper::getOwners() ] ]); while ($row = $cursor->fetch()) { $reportPage = new AnalyticBoard(); $reportPage->setTitle($row['TITLE']); $reportPage->setBoardKey(static::REPORT_KEY . $row['ID']); $reportPage->setBatchKey(static::BATCH_INTERNET_SHOP); if (method_exists($reportPage, 'setGroup')) { $reportPage->setGroup(self::BATCH_GROUP_SALES_GENERAL); } $reportPage->setExternal(true); $reportViewUrl = static::REPORT_VIEW_URL; $reportViewUrl = \CHTTP::urlAddParams($reportViewUrl, [ 'ID' => $row['ID'], 'publicSidePanel' => 'Y' ]); $reportPage->setExternalUrl($reportViewUrl); $analyticPageList[] = $reportPage; } return $analyticPageList; } public static function getCurrentUserId() { global $USER; return $USER->getId(); } }