- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/item/task/template.php
- Класс: BitrixTasksItemTaskTemplate
- Вызов: Template::findMembers
static function findMembers(array $parameters, array $ids): array
{
if (
array_key_exists('select', $parameters)
&& is_array($parameters['select'])
&& !empty($parameters['select'])
&& !in_array('RESPONSIBLES', $parameters['select'])
&& !in_array('ACCOMPLICES', $parameters['select'])
&& !in_array('AUDITORS', $parameters['select'])
&& $parameters['select'][0] !== '*'
)
{
return [];
}
$res = TemplateMemberTable::getList([
'filter' => [
'@TEMPLATE_ID' => $ids,
]
]);
$memberTypes = [
TemplateMemberTable::MEMBER_TYPE_RESPONSIBLE => 'RESPONSIBLES',
TemplateMemberTable::MEMBER_TYPE_ACCOMPLICE => 'ACCOMPLICES',
TemplateMemberTable::MEMBER_TYPE_AUDITOR => 'AUDITORS',
];
$members = [];
while ($row = $res->fetch())
{
if (!array_key_exists($row['TYPE'], $memberTypes))
{
continue;
}
$members[$row['TEMPLATE_ID']][$memberTypes[$row['TYPE']]][] = (int) $row['USER_ID'];
}
foreach ($members as $templateId => $templateMembers)
{
foreach ($templateMembers as $type => $users)
{
$members[$templateId][$type] = serialize($users);
}
}
return $members;
}