• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/counter/template/taskcounter.php
  • Класс: BitrixTasksInternalsCounterTemplateTaskCounter
  • Вызов: TaskCounter::getRowCounter
public function getRowCounter(int $taskId): array
{
	$res = [
		'COLOR' => CounterStyle::STYLE_GRAY,
		'VALUE' => 0,
	];

	if (!$taskId)
	{
		return $res;
	}

	$counters = Counter::getInstance($this->userId)->getTaskCounters($taskId);

	if (empty($counters))
	{
		return $res;
	}

	if (isset($counters[CounterDictionary::COUNTER_MY_NEW_COMMENTS]) && $counters[CounterDictionary::COUNTER_MY_NEW_COMMENTS])
	{
		$res['COLOR'] = CounterStyle::STYLE_GREEN;
		$res['VALUE'] = $counters[CounterDictionary::COUNTER_MY_NEW_COMMENTS];
	}
	if (isset($counters[CounterDictionary::COUNTER_MY_EXPIRED]) && $counters[CounterDictionary::COUNTER_MY_EXPIRED])
	{
		$res['COLOR'] = CounterStyle::STYLE_RED;
		$res['VALUE']++;
	}

	if (!$res['VALUE'])
	{
		if (isset($counters[CounterDictionary::COUNTER_MY_MUTED_NEW_COMMENTS]))
		{
			$res['VALUE'] = $counters[CounterDictionary::COUNTER_MY_MUTED_NEW_COMMENTS];
		}
		if (isset($counters[CounterDictionary::COUNTER_MY_MUTED_EXPIRED]) && $counters[CounterDictionary::COUNTER_MY_MUTED_EXPIRED])
		{
			$res['VALUE']++;
		}
	}

	if (!$res['VALUE'])
	{
		if (isset($counters[CounterDictionary::COUNTER_GROUP_COMMENTS]))
		{
			$res['VALUE'] = $counters[CounterDictionary::COUNTER_GROUP_COMMENTS];
		}
		if (
			isset($counters[CounterDictionary::COUNTER_GROUP_EXPIRED])
			&& $counters[CounterDictionary::COUNTER_GROUP_EXPIRED]
		)
		{
			$res['VALUE']++;
			if ($this->isGroupAdmin($taskId))
			{
				$res['COLOR'] = CounterStyle::STYLE_RED;
			}
		}
	}

	return $res;
}