- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/Configuration/Configuration.php
- Класс: BitrixImConfigurationConfiguration
- Вызов: Configuration::getListAvailablePresets
static function getListAvailablePresets(int $userId): array
{
$query =
OptionGroupTable::query()
->setSelect(['ID', 'NAME'])
->registerRuntimeField(
'OPTION_ACCESS',
new Reference(
'OPTION_ACCESS',
OptionAccessTable::class,
Join::on('this.ID', 'ref.GROUP_ID'),
['join_type' => Join::TYPE_INNER]
)
)
->registerRuntimeField(
'USER_ACCESS',
new Reference(
'USER_ACCESS',
UserAccessTable::class,
Join::on('this.OPTION_ACCESS.ACCESS_CODE', 'ref.ACCESS_CODE'),
['join_type' => Join::TYPE_INNER]
)
)
->where('USER_ACCESS.USER_ID', $userId)
;
$presets = [];
foreach ($query->exec() as $row)
{
$presets[] = [
'id' => $row['ID'],
'name' => self::getPresetName($row),
];
}
return $presets;
}