- Модуль: 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);
}