• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/counter/collector/usercollector.php
  • Класс: BitrixTasksInternalsCounterCollectorUserCollector
  • Вызов: UserCollector::recount
public function recount(string $counter, array $taskIds = []): array
{
	if (!$this->userId)
	{
		return [];
	}

	if (empty($taskIds))
	{
		return [];
	}

	$taskIds = array_unique($taskIds);
	sort($taskIds);

	$taskFilter = $this->getTasksFilter($taskIds);
	if (!$taskFilter)
	{
		return [];
	}

	$mutedTasks = $this->getMutedTasks($taskIds);

	$counters = [];
	switch ($counter)
	{
		case CounterDictionary::COUNTER_EXPIRED:
			$counters = $this->recountExpired($taskFilter, $mutedTasks);
			break;
		case CounterDictionary::COUNTER_NEW_COMMENTS:
			$counters = $this->recountComments($taskFilter, $mutedTasks);
			break;
		default:
			break;
	}

	return $counters;
}