<?
if($bShowStats)
{
	$tabControl->BeginNextTab();

	CJSCore::Init(array('amcharts_serial'));

	$dateStart = new Main\Type\Date();
	$dateStart->add("-".Engine\YandexDirectLive::MAX_STAT_DAYS_DELTA." days");

	$dateFinish = new Main\Type\Date();

	$statsData = Adv\YandexStatTable::getBannerStat(
		$banner['ID'],
		$dateStart,
		$dateFinish
	);

	$gaps = Adv\YandexStatTable::getMissedPeriods($statsData, $dateStart, $dateFinish);

	$graphData = array();

	$currency = Loc::getMessage('SEO_YANDEX_STATS_GRAPH_AXIS_CURRENCY');
	foreach($statsData as $date => $dayData)
	{
		if($dayData['CURRENCY'] != '')
		{
			$currency = $dayData['CURRENCY'];
		}
Beispiel #2
0
 if (count($campaignList) > 0) {
     $dbCampaigns = Adv\YandexCampaignTable::getList(array('filter' => array('@ID' => $campaignList, '=ENGINE_ID' => $engine->getId(), '=ACTIVE' => Adv\YandexCampaignTable::ACTIVE), 'select' => array('ID', 'SETTINGS')));
     $campaignList = array();
     while ($campaign = $dbCampaigns->fetch()) {
         $campaignList[$campaign['ID']] = $campaign;
     }
     $dateFinish = new Date();
     $bannerListToCheck = array();
     foreach ($bannerList as $key => $banner) {
         $banner['DATE_START'] = $campaignList[$banner['CAMPAIGN_ID']]['SETTINGS']['StartDate'];
         if ($bSale) {
             $banner['PROFIT'] = 0;
         }
         if ($banner['DATE_START']) {
             $banner['DATE_START'] = new Date($banner['DATE_START'], 'Y-m-d');
             $banner['STATS_DATA'] = Adv\YandexStatTable::getBannerStat($banner['ID'], $banner['DATE_START'], $dateFinish);
             $gaps = Adv\YandexStatTable::getMissedPeriods($banner['STATS_DATA'], $banner['DATE_START'], $dateFinish);
             if (count($gaps) > 0) {
                 $banner['LOADING_NEEDED'] = true;
                 $bannerListToCheck[] = $banner['ID'];
             } else {
                 $bannerListToCheck[] = $banner['ID'];
             }
         }
         $bannerList[$key] = $banner;
     }
     //print_r($bannerListToCheck);
     if ($bSale && count($bannerListToCheck) > 0) {
         $orderStats = Adv\OrderTable::getList(array('filter' => array('@BANNER_ID' => $bannerListToCheck, '=PROCESSED' => Adv\OrderTable::PROCESSED), 'group' => array('BANNER_ID'), 'select' => array('BANNER_ID', 'BANNER_SUM'), 'runtime' => array(new \Bitrix\Main\Entity\ExpressionField('BANNER_SUM', 'SUM(SUM)'))));
         while ($stat = $orderStats->fetch()) {
             $bannerList[$stat['BANNER_ID']]['PROFIT'] = $stat['BANNER_SUM'];