• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/usersettings.php
  • Класс: BitrixCalendarUserSettings
  • Вызов: UserSettings::set
static function set($settings = [], $userId = false)
{
	if (!$userId)
		$userId = CCalendar::getUserId();
	if (!$userId)
		return;

	if ($settings === false)
	{
		CUserOptions::setOption("calendar", "user_settings", false, false, $userId);
	}
	elseif(is_array($settings))
	{
		$curSet = self::get($userId);
		foreach($settings as $optionName => $value)
		{
			if (isset(self::$settings[$optionName]))
			{
				if (
					($optionName === 'defaultSections' || $optionName === 'defaultReminders')
					&& is_array($value)
				)
				{
					$curSet[$optionName] = Json::encode($value);
				}
				else
				{
					$curSet[$optionName] = $value;
				}
			}
		}
		CUserOptions::setOption("calendar", "user_settings", $curSet, false, $userId);
	}
}