• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/counter/user.php
  • Класс: BitrixTasksInternalsCounterUser
  • Вызов: User::changeCounter
private function changeCounter($name, $counts)
{
	if (!$counts || !is_array($counts))
	{
		return;
	}

	$counters = array();
	$allCount = 0;

	foreach ($counts as $row)
	{
		$this->counters[$name][$row['GROUP_ID']] = (int)$row['COUNT'];
		$counters[$row['GROUP_ID']] = (int)$row['COUNT'];
		$allCount += (int)$row['COUNT'];
	}

	if (!$this->needSaveCounters)
	{
		if (!($this->needSaveCounters = ($allCount != $this->counters[$name]['allCounters'])))
		{
			return;
		}
	}

	$this->counters[$name]['allCounters'] = $allCount;

	foreach ($counters as $groupId => $counter)
	{
		$this->counters[$name][$groupId] = $counter;
	}

	$this->counters[$name]['allCounters'] = $allCount;
}