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