- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/internals/counter/processor/projectprocessor.php
- Класс: BitrixTasksInternalsCounterProcessorProjectProcessor
- Вызов: ProjectProcessor::recount
public function recount(string $counter, int $userId = 0, array $taskIds = [], array $groupIds = [])
{
$this->checkCounter($counter);
if (!Loader::includeModule('socialnetwork'))
{
return;
}
if ($userId)
{
$counters = $this->recountForUser($counter, $userId, $taskIds, $groupIds);
}
elseif (!empty($taskIds))
{
$counters = $this->recountForTasks($counter, $taskIds);
}
elseif (!empty($groupIds))
{
$counters = $this->recountForProjects($counter, $groupIds);
}
else
{
return;
}
self::reset($userId, [$counter], $taskIds, $groupIds);
$this->batchInsert($counters);
CounterState::getInstance($userId)->updateState($counters, [$counter], $taskIds);
}