• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_settings.php
  • Класс: CIMSettings
  • Вызов: CIMSettings::convertNotifySettingsToNewFormat
static function convertNotifySettingsToNewFormat(array $settings, $needReplace = true): array
{
	$defaultSettings = Notification::getDefaultSettings();

	$newFormatSettings = [];
	foreach ($settings as $name => $value)
	{
		[$type, $module, $event] = explode('|', $name, 3);

		switch ($type)
		{
			case 'site':
				$type = 1;

				break;
			case 'email':
				$type = 2;

				break;
			case 'xmpp':
				$type = 3;

				break;
			case 'push':
				$type = 4;

				break;
		}
		$newName = implode('|', ['no', $module, $event, $type]);

		$newFormatSettings[] = [
			'NAME' => $newName,
			'VALUE' => $value ? 'Y' : 'N'
		];
	}
	$newSettings = Notification::decodeSettings($newFormatSettings);

	return $needReplace
		? array_replace_recursive($defaultSettings, $newSettings)
		: $newSettings
	;
}