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