• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/classes/general/im_settings.php
  • Класс: CIMSettings
  • Вызов: CIMSettings::Get
static function Get($userId = false)
{
	$userId = $userId === false ? null : $userId;
	$userId = Common::getUserId($userId);
	if (!$userId)
	{
		return null;
	}

	if (Manager::isSettingsMigrated() || Manager::isUserMigrated($userId))
	{
		$result = Manager::getUserSettings($userId);
		if (!$result->isSuccess())
		{
			return null;
		}
		$settings = $result->getData();

		if(empty($settings['notify']) || empty($settings['general']))
		{
			return null;
		}

		return [
			self::NOTIFY => self::convertNotifySettingsToOldFormat($settings['notify']['settings']),
			self::SETTINGS => $settings['general']['settings'],
		];
	}

	$arSettings[self::SETTINGS] = CUserOptions::GetOption('im', self::SETTINGS, [], $userId);
	$arSettings[self::NOTIFY] = CUserOptions::GetOption('im', self::NOTIFY, [], $userId);

	// Check fields and add default values
	$arSettings[self::SETTINGS] = self::checkValues(self::SETTINGS, $arSettings[self::SETTINGS]);
	$arSettings[self::NOTIFY] = self::checkValues(self::NOTIFY, $arSettings[self::NOTIFY]);

	return $arSettings;
}