403Webshell
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 :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/sale/lib/integration/report/eventhandler.php
<?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();
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit