• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/lib/usersettings.php
  • Класс: BitrixCalendarUserSettings
  • Вызов: UserSettings::getHiddenSections
static function getHiddenSections($userId = false, $options = []): array
{
	$res = [];
	if (class_exists('CUserOptions') && $userId > 0)
	{
		$optionName = ($options['isPersonalCalendarContext'] ?? null) ? 'hidden_sections' : 'hidden_sections_'.$options['type'];
		$res = CUserOptions::getOption('calendar', $optionName, false, $userId);

		if (is_array($res) && isset($res[$optionName]))
		{
			$res = explode(',', $res[$optionName]);
		}

		if ($res === false && isset($options['defaultHiddenSections']) && is_array($options['defaultHiddenSections']))
		{
			$res = $options['defaultHiddenSections'];
		}

		if (is_array($res))
		{
			$res = array_values(array_filter(array_unique($res), function($k) {
				return $k === 'tasks' || is_numeric($k);
			}));
		}
	}

	return is_array($res) ? $res : [];
}