- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/Configuration/Configuration.php
- Класс: BitrixImConfigurationConfiguration
- Вызов: Configuration::setUserPresetInCache
static function setUserPresetInCache(int $userId, array $preset): void
{
CacheManager::getUserCache($userId)->clearCache();
CacheManager::getPresetCache($preset['general']['id'])->clearCache();
CacheManager::getPresetCache($preset['notify']['id'])->clearCache();
CacheManager::getUserCache($userId)->setValue([
CacheManager::GENERAL_PRESET => $preset['general']['id'],
CacheManager::NOTIFY_PRESET => $preset['notify']['id'],
]);
if ($preset['general']['id'] === $preset['notify']['id'])
{
CacheManager::getPresetCache($preset['general']['id'])->setValue([
'id' => $preset['general']['id'],
'name' => $preset['general']['name'],
'sort' => $preset['general']['sort'],
'general' => $preset['general']['settings'],
'notify' => $preset['notify']['settings'],
]);
return;
}
CacheManager::getPresetCache($preset['general']['id'])->setValue([
'id' => $preset['general']['id'],
'name' => $preset['general']['name'],
'sort' => $preset['general']['sort'],
'general' => $preset['general']['settings'],
]);
CacheManager::getPresetCache($preset['notify']['id'])->setValue([
'id' => $preset['notify']['id'],
'name' => $preset['notify']['name'],
'sort' => $preset['notify']['sort'],
'notify' => $preset['notify']['settings'],
]);
}