• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/component/workgrouplist/counter.php
  • Класс: BitrixSocialnetworkComponentWorkgroupListCounter
  • Вызов: Counter::fillCounters
static function fillCounters(array $params = []): array
{
	$result = [];

	if (
		!isset($params['groupIdList'], $params['counterData'])
		|| !is_array($params['groupIdList'])
		|| !is_array($params['counterData'])
	)
	{
		return $result;
	}

	$counterData = $params['counterData'];

	$groupIdList = Util::filterNumericIdList($params['groupIdList']);
	if (empty($groupIdList))
	{
		return $result;
	}

	$scrumIdList = [];
	if (isset($params['scrumIdList']))
	{
		$scrumIdList = Util::filterNumericIdList($params['scrumIdList']);
	}

	$currentUserId = static::getCurrentUserId();
	if ($currentUserId <= 0)
	{
		return $result;
	}

	$mode = ($params['mode'] ?? WorkgroupList::MODE_COMMON);
	$groupUrlTemplate = ($params['groupUrl'] ?? HelperPath::get('group_path_template'));

	if (in_array($mode, WorkgroupList::getTasksModeList(), true))
	{
		$result = static::fillTasksCounters([
			'counterData' => $counterData,
			'mode' => $mode,
			'groupUrl' => $groupUrlTemplate,
			'groupIdList' => $groupIdList,
			'scrumIdList' => $scrumIdList,
		]);
	}
	else
	{
		$result = static::fillCommonCounters([
			'counterData' => $counterData,
			'groupUrl' => HelperPath::get('group_livefeed_path_template'),
			'groupIdList' => $groupIdList,
			'scrumIdList' => $scrumIdList,
			'livefeedCounterSliderOptions' => $params['livefeedCounterSliderOptions'],
		]);
	}

	return $result;
}