• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/comments/viewed/task.php
  • Класс: BitrixTasksCommentsViewedTask
  • Вызов: Task::readProject
public function readProject($groupId = null)
{
	$currentUserId = (int)CurrentUser::get()->getId();

	$groupId = (int)$groupId;

	if ($groupId)
	{
		// getConditionByGroupId
		$groupCondition = "AND TS.GROUP_ID = {$groupId}";
	}
	else
	{
		// getConditionByType
		$scrum = UserRegistry::getInstance($currentUserId)->getUserGroups(UserRegistry::MODE_SCRUM);
		$scrumIds = array_keys($scrum);
		$scrumIds[] = 0;
		$groupCondition = "AND TS.GROUP_ID NOT IN (". implode(',', $scrumIds) .")";
	}

	$userJoin = '';

	$this->markAsRead($currentUserId, $userJoin, $groupCondition);

	CounterService::addEvent(
		EventDictionary::EVENT_AFTER_PROJECT_READ_ALL,
		[
			'USER_ID' => $currentUserId,
			'GROUP_ID' => $groupId
		]
	);

	PushService::addEvent($currentUserId, [
		'module_id' => 'tasks',
		'command' => PushCommand::PROJECT_COMMENTS_VIEWED,
		'params' => [
			'USER_ID' => $currentUserId,
			'GROUP_ID' => $groupId,
		]
	]);

	return true;
}