• Модуль: 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'],
	]);
}