public static function getMissedPeriods(array $stats, $dateStart, $dateFinish)
 {
     $missedPeriods = array();
     $datePrevoius = false;
     $checkDate = new Date($dateStart);
     $dateCurrent = new Date($dateStart);
     $dateFinish = new Date($dateFinish);
     while ($dateCurrent->getTimestamp() <= $dateFinish->getTimestamp()) {
         if (!array_key_exists($dateCurrent->toString(), $stats)) {
             if (!$datePrevoius || $dateCurrent->getTimestamp() >= $checkDate->getTimestamp()) {
                 $missedPeriods[] = array($dateCurrent->toString(), $dateCurrent->toString());
                 $checkDate = new Date($dateCurrent->toString());
                 $checkDate->add("+" . YandexDirectLive::MAX_STAT_DAYS_DELTA . " days");
                 $datePrevoius = true;
             } else {
                 $missedPeriods[count($missedPeriods) - 1][1] = $dateCurrent->toString();
             }
         } else {
             $datePrevoius = false;
         }
         $dateCurrent->add("+1 days");
     }
     return $missedPeriods;
 }
				BX(prefix+'_'+i+'_1_'+r).style.display = 'none';
			}
		}
	}

</script>

<?
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)
            $message = new CAdminMessage(array("TYPE" => "ERROR", "MESSAGE" => Loc::getMessage('SEO_CAMPAIGN_WRONG_OWNER', array("#USERINFO#" => "(" . $campaign["OWNER_ID"] . ") " . $campaign["OWNER_NAME"]))));
        }
    } else {
        require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
        $message = new CAdminMessage(array("TYPE" => "ERROR", "DETAILS" => Loc::getMessage("SEO_ERROR_NO_CAMPAIGN"), "HTML" => true));
        echo $message->Show();
        require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php";
    }
}
if ($bShowStats) {
    if (isset($_REQUEST['date_from']) && isset($_REQUEST['date_to']) && Main\Type\Date::isCorrect($_REQUEST['date_from']) && Main\Type\Date::isCorrect($_REQUEST['date_to'])) {
        $statsDateStart = new Main\Type\Date($_REQUEST['date_from']);
        $statsDateFinish = new Main\Type\Date($_REQUEST['date_to']);
    } else {
        $statsDateStart = new Main\Type\Date();
        $statsDateStart->add("-" . Engine\YandexDirect::MAX_STAT_DAYS_DELTA . " days");
        $statsDateFinish = new Main\Type\Date();
    }
}
if ($bShowStats) {
    $tableID = "tbl_yandex_campaign_banner_stats";
    //hack to prevent browser history insertion
    if (isset($_REQUEST["mode"]) && ($_REQUEST["mode"] == 'list' || $_REQUEST["mode"] == 'frame')) {
        $_REQUEST['admin_history'] = 'Y';
    }
    $oSort = new \CAdminSorting($tableID, "BANNER_CTR", "desc");
    $statsAdminList = new \CAdminList($tableID, $oSort);
    $campaignStats = Adv\YandexStatTable::getList(array('order' => array($by => $order), 'group' => array("BANNER_ID", "CURRENCY"), 'filter' => array("=CAMPAIGN_ID" => $campaign['ID'], ">=DATE_DAY" => $statsDateStart, "<DATE_DAY" => $statsDateFinish), 'select' => array("BANNER_ID", "CURRENCY", "BANNER_NAME" => "BANNER.NAME", "BANNER_XML_ID" => "BANNER.XML_ID", "BANNER_SUM", "BANNER_SHOWS", "BANNER_CLICKS", "BANNER_CTR"), "runtime" => array(new Main\Entity\ExpressionField('BANNER_SUM', 'SUM(SUM)'), new Main\Entity\ExpressionField('BANNER_SHOWS', 'SUM(SHOWS)'), new Main\Entity\ExpressionField('BANNER_CLICKS', 'SUM(CLICKS)'), new Main\Entity\ExpressionField('BANNER_CTR', '100*SUM(CLICKS)/SUM(SHOWS)'))));
    $data = new \CAdminResult($campaignStats, $tableID);
    $data->NavStart();
    $statsAdminList->NavText($data->GetNavPrint(Loc::getMessage("PAGES")));