- Модуль: 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
;
}