- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/access/voteaccesscontroller.php
- Класс: BitrixSocialnetworkAccessVoteAccessController
- Вызов: VoteAccessController::filterUsers
public function filterUsers(array $userIds): array
{
if (!$this->isExtranetUser($this->userId))
{
return $userIds;
}
$userIds = array_map(function($el) {
return (int) $el;
}, $userIds);
$userGroups = $this->getUserGroups();
if (empty($userGroups))
{
return [];
}
$chunks = array_chunk($userIds, self::STEP_LIMIT);
$result = [];
foreach ($chunks as $chunk)
{
$groupUsers = UserToGroupTable::getList([
'select' => ['USER_ID'],
'filter' => [
'@USER_ID' => $chunk,
'@GROUP_ID' => $userGroups,
'@ROLE' => UserToGroupTable::getRolesMember(),
],
])->fetchAll();
$groupUsers = array_column($groupUsers, 'USER_ID');
$groupUsers = array_intersect($userIds, $groupUsers);
$result = array_merge($result, $groupUsers);
}
return array_unique($result);
}