• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar_sect.php
  • Класс: CCalendarSect
  • Вызов: CCalendarSect::GetDefaultAccess
static function GetDefaultAccess($type, $ownerId)
{
	if (CCalendar::IsIntranetEnabled())
	{
		$access = array('G2' => CCalendar::GetAccessTasksByName('calendar_section', 'calendar_view_time'));
	}
	else
	{
		$access = array('G2' => CCalendar::GetAccessTasksByName('calendar_section', 'calendar_view'));
	}

	if ($type === 'group' && $ownerId > 0)
	{
		$access['SG'.$ownerId.'_A'] = CCalendar::GetAccessTasksByName('calendar_section', 'calendar_access');
		$access['SG'.$ownerId.'_E'] = CCalendar::GetAccessTasksByName('calendar_section', 'calendar_edit');
		$access['SG'.$ownerId.'_K'] = CCalendar::GetAccessTasksByName('calendar_section', 'calendar_edit');
	}
	else if ($type !== 'user')
	{
		$access['G2'] = CCalendar::GetAccessTasksByName('calendar_section', 'calendar_edit');
	}

	// Creator of the section
	if ($type !== 'user')
	{
		$access['U'.CCalendar::GetUserId()] = CCalendar::GetAccessTasksByName('calendar_section', 'calendar_access');
	}

	$accessCodes = [];
	foreach($access as $code => $o)
	{
		$accessCodes[] = $code;
	}

	CCalendar::PushAccessNames($accessCodes);
	return $access;
}