• Модуль: rest
  • Путь к файлу: ~/bitrix/modules/rest/lib/usagestat.php
  • Класс: BitrixRestUsageStatTable
  • Вызов: UsageStatTable::sendDateStat
static function sendDateStat($date)
{
	$return = true;

	$statList = static::getList(array(
		"select" => array(
			"ENTITY_ID" => "ENTITY_ID",
			"ENTITY_TYPE" => "ENTITY.ENTITY_TYPE",
			"ENTITY_CODE" => "ENTITY.ENTITY_CODE",
			"SUB_ENTITY_TYPE" => "ENTITY.SUB_ENTITY_TYPE",
			"SUB_ENTITY_NAME" => "ENTITY.SUB_ENTITY_NAME",
			"STAT_DATE",
			"HOUR_0",
			"HOUR_1",
			"HOUR_2",
			"HOUR_3",
			"HOUR_4",
			"HOUR_5",
			"HOUR_6",
			"HOUR_7",
			"HOUR_8",
			"HOUR_9",
			"HOUR_10",
			"HOUR_11",
			"HOUR_12",
			"HOUR_13",
			"HOUR_14",
			"HOUR_15",
			"HOUR_16",
			"HOUR_17",
			"HOUR_18",
			"HOUR_19",
			"HOUR_20",
			"HOUR_21",
			"HOUR_22",
			"HOUR_23",
		),
		"filter" => array(
			"=STAT_DATE" => $date,
		),
	));

	$usage = array();
	while ($dayStat = $statList->fetch())
	{
		if ($dayStat["ENTITY_CODE"] && $dayStat["STAT_DATE"])
		{
			$dayStat["STAT_DATE"] = $dayStat["STAT_DATE"]->format("Y-m-d");
			$dayStat['HOUR_TOTAL'] = 0;
			for ($i = 0; $i < 24; $i++)
			{
				$dayStat['HOUR_TOTAL'] += (int)$dayStat['HOUR_' . $i];
				unset($dayStat['HOUR_' . $i]);
			}
			$usage[] = $dayStat;
		}
	}

	if ($usage)
	{
		$response = BitrixRestOAuthService::getEngine()->getClient()->sendApplicationUsage($usage);
		$return = is_array($response) && $response['result'] === true;
	}

	return $return;
}