• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/user_counter.php
  • Класс: CAllUserCounter
  • Вызов: CAllUserCounter::GetAllValues
static function GetAllValues($user_id)
{
	$arCounters = [];
	$user_id = (int)$user_id;
	if ($user_id < 0)
	{
		return $arCounters;
	}

	$arSites = Array();
	$by = '';
	$order = '';
	$res = CSite::GetList($by, $order, Array("ACTIVE" => "Y"));
	while ($row = $res->Fetch())
	{
		$arSites[] = $row['ID'];
	}

	$arAll = self::getValuesFromDB($user_id);

	foreach ($arAll as $arItem)
	{
		if ($arItem['SITE_ID'] === self::ALL_SITES)
		{
			foreach ($arSites as $siteId)
			{
				if (isset($arCounters[$siteId][$arItem['CODE']]))
				{
					$arCounters[$siteId][$arItem['CODE']] += (int)$arItem['CNT'];
				}
				else
				{
					$arCounters[$siteId][$arItem['CODE']] = (int)$arItem['CNT'];
				}
			}
		}
		elseif (isset($arCounters[$arItem['SITE_ID']][$arItem['CODE']]))
		{
			$arCounters[$arItem['SITE_ID']][$arItem['CODE']] += (int)$arItem['CNT'];
		}
		else
		{
			$arCounters[$arItem['SITE_ID']][$arItem['CODE']] = (int)$arItem['CNT'];
		}
	}

	return $arCounters;
}