• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/access/accesscacheloader.php
  • Класс: BitrixTasksAccessAccessCacheLoader
  • Вызов: AccessCacheLoader::preload
public function preload(int $userId, array $taskIds)
{
	$registry = TaskRegistry::getInstance();

	$registry->load($taskIds, true);

	if (!Loader::includeModule('socialnetwork'))
	{
		return;
	}

	$groupIds = [];
	foreach ($taskIds as $id)
	{
		$task = $registry->get($id);
		if (
			!$task
			|| !$task['GROUP_ID']
		)
		{
			continue;
		}
		$groupIds[] = (int) $task['GROUP_ID'];
	}

	if (empty($groupIds))
	{
		return;
	}

	$sonetRegistry = FeaturePermRegistry::getInstance();
	$sonetRegistry->load($groupIds, 'tasks', 'edit_tasks', $userId);
	$sonetRegistry->load($groupIds, 'tasks', 'create_tasks', $userId);
	$sonetRegistry->load($groupIds, 'tasks', 'delete_tasks', $userId);
	$sonetRegistry->load($groupIds, 'tasks', 'view_all', $userId);
}