• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_settings.php
  • Класс: CIMSettings
  • Вызов: CIMSettings::convertNotifySettingsToOldFormat
static function convertNotifySettingsToOldFormat(array $settings): array
{
	$formattedSettings = [];
	foreach ($settings as $moduleId => $notifyTypes)
	{
		foreach ($notifyTypes['NOTIFY'] as $eventName => $eventValue)
		{
			$siteName = self::CLIENT_SITE.'|'.$moduleId.'|'.$eventName;
			$mailName = self::CLIENT_MAIL.'|'.$moduleId.'|'.$eventName;
			$xmppName = self::CLIENT_XMPP.'|'.$moduleId.'|'.$eventName;
			$pushName = self::CLIENT_PUSH.'|'.$moduleId.'|'.$eventName;

			$formattedSettings[$siteName] = $eventValue['SITE'];
			$formattedSettings[$mailName] = $eventValue['MAIL'];
			$formattedSettings[$xmppName] = $eventValue['XMPP'];
			$formattedSettings[$pushName] = $eventValue['PUSH'];

			if (isset($eventValue['DISABLED']))
			{
				$formattedSettings['disabled|'.$siteName] = $eventValue['DISABLED']['SITE'];
				$formattedSettings['disabled|'.$mailName] = $eventValue['DISABLED']['MAIL'];
				$formattedSettings['disabled|'.$xmppName] = $eventValue['DISABLED']['XMPP'];
				$formattedSettings['disabled|'.$pushName] = $eventValue['DISABLED']['PUSH'];
			}

			$formattedSettings['important|'.$moduleId.'|'.$eventName] =
				isset($eventValue['IMPORTANT']) && is_bool($eventValue['IMPORTANT'])
					? $eventValue['IMPORTANT']
					: true;
		}
	}
	return $formattedSettings;
}