• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar_sect.php
  • Класс: CCalendarSect
  • Вызов: CCalendarSect::HandlePermission
static function HandlePermission($section = [])
{
	if ($section && $section['ID'])
	{
		$sectionId = $section['ID'];
		if (!isset(self::$Permissions[$sectionId]) || !is_array(self::$Permissions[$sectionId]))
		{
			self::$Permissions[$sectionId] = [];
		}

		if (isset($section['ACCESS_CODE']) && $section['ACCESS_CODE'] && $section['ACCESS_CODE'] !== '0' && (int)$section['TASK_ID'] > 0)
		{
			self::$Permissions[$sectionId][$section['ACCESS_CODE']] = (int)$section['TASK_ID'];
		}

		if (isset($section['ACCESS']) && $section['ACCESS'])
		{
			self::$Permissions[$sectionId] = $section['ACCESS'];
		}

		if ($section['CAL_TYPE'] !== 'group' && (int)$section['OWNER_ID'] > 0) // Owner for user or other calendar types
		{
			self::$Permissions[$sectionId]['U'.$section['OWNER_ID']] = CCalendar::GetAccessTasksByName('calendar_section', 'calendar_access');
		}

		if ($section['CAL_TYPE'] === 'group' && (int)$section['OWNER_ID'] > 0) // Owner for group
		{
			self::$Permissions[$sectionId]['SG'.$section['OWNER_ID'].'_A'] = CCalendar::GetAccessTasksByName('calendar_section', 'calendar_access');
		}
	}
}