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

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

	$counters = Counter::getInstance($this->userId)->getTaskCounters($taskId);
	if (!isset($counters))
	{
		$counters = [
			'expired' => 0,
			'new_comments' => 0,
			'project_expired' => 0,
			'project_new_comments' => 0,
		];
	}
	else
	{
		$counters = [
			'expired' => $counters[CounterDictionary::COUNTER_MY_EXPIRED],
			'new_comments' => $counters[CounterDictionary::COUNTER_MY_NEW_COMMENTS],
			'project_expired' => $counters[CounterDictionary::COUNTER_GROUP_EXPIRED],
			'project_new_comments' => $counters[CounterDictionary::COUNTER_GROUP_COMMENTS],
		];
	}

	$result['counters'] = $counters;
	$result['value'] = array_sum($counters);

	if ($counters['new_comments'] > 0)
	{
		$result['color'] = CounterStyle::STYLE_GREEN;
	}
	if ($counters['expired'] > 0)
	{
		$result['color'] = CounterStyle::STYLE_RED;
	}

	return $result;
}