- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/member/membermanager.php
- Класс: BitrixTasksMemberMemberManager
- Вызов: MemberManager::getAdditionalInfo
private function getAdditionalInfo(): array
{
$members = $this->repository->getMembers();
if ($members->isEmpty())
{
return [];
}
$memberIds = [];
$taskMembers = [];
foreach ($members as $member)
{
if ($member->getType() === $this->getRole())
{
$getEntityId = 'get' . $this->repository->getType() . 'Id';
$taskMembers[$member->getUserId()] = new Member(
$member->getUserId(),
$this->getRole(),
$member->$getEntityId(),
$this->repository->getType()
);
$memberIds[] = $member->getUserId();
}
}
if (empty($memberIds))
{
return [];
}
try
{
$query = UserTable::query();
$query
->setSelect(['ID', 'NAME', 'LAST_NAME', 'SECOND_NAME'])
->whereIn('ID', $memberIds)
;
$users = $query->exec()->fetchCollection();
}
catch (Exception $exception)
{
throw new UserInfoException($exception->getMessage());
}
foreach ($users as $user)
{
$taskMembers[$user->getId()]->setName($this->getName($user));
}
static::$cache[$this->getKey($this->config)] = $taskMembers;
return $taskMembers;
}