- Модуль: catalog
- Путь к файлу: ~/bitrix/modules/catalog/lib/Access/Install/AccessInstaller.php
- Класс: BitrixCatalogAccessInstallAccessInstaller
- Вызов: AccessInstaller::fillGroupUserRoleRelations
private function fillGroupUserRoleRelations(array $groupRoleMap): void
{
$userGroups = UserGroupTable::getList([
'select' => ['USER_ID', 'GROUP_ID'],
'filter' => [
'=GROUP_ID' => array_keys($groupRoleMap),
'=USER.ACTIVE' => 'Y',
'=USER.IS_REAL_USER' => 'Y',
],
]);
$valuesData = [];
while ($user = $userGroups->fetch())
{
$groupId = (int)($groupRoleMap[$user['GROUP_ID']] ?? 0);
if ($groupId > 0)
{
$valuesData[] = new SqlExpression("(?, ?)", $groupId, "U{$user['USER_ID']}");
}
}
if (!$valuesData)
{
return;
}
$query = '
INSERT INTO b_catalog_role_relation
(ROLE_ID, RELATION)
VALUES ' . implode(',', $valuesData) . '
';
Application::getConnection()->query($query);
}