• Модуль: seo
  • Путь к файлу: ~/bitrix/modules/seo/lib/adv/yandexstat.php
  • Класс: BitrixSeoAdvYandexStatTable
  • Вызов: YandexStatTable::loadStat
static function loadStat(YandexDirect $directEngine, $campaignXmlId, $dateStart, $dateFinish, $skipCurrency = false)
{
	$dateStart = new Date($dateStart);
	$dateFinish = new Date($dateFinish);

	$queryData = array(
		"CampaignID" => $campaignXmlId,
		"StartDate" => $dateStart->format("Y-m-d"),
		'EndDate' => $dateFinish->format("Y-m-d"),
		'GroupByColumns' => array(
			'clDate', 'clBanner'
		),
	);

	$currency = '';
	if(!$skipCurrency && Loader::includeModule('currency'))
	{
		$baseCurrency = CCurrency::GetBaseCurrency();
		if($baseCurrency == 'RUR')
		{
			$baseCurrency = 'RUB';
		}

		if(in_array($baseCurrency, $directEngine->allowedCurrency))
		{
			$currency = $baseCurrency;
		}
	}

	if($currency != '')
	{
		$queryData['Currency'] = $currency;
	}

	try
	{
		$result = $directEngine->getBannerStats($queryData);
		$result['Currency'] = $currency;
	}
	catch(YandexDirectException $e)
	{
		if($currency != '' && $e->getCode() == YandexDirect::ERROR_WRONG_CURRENCY)
		{
			$result = static::loadStat($directEngine, $campaignXmlId, $dateStart, $dateFinish, true);
		}
		else
		{
			throw $e;
		}
	}

	return $result;
}