- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar.php
- Класс: CCalendar
- Вызов: CCalendar::GetAccessibilityForUsers
static function GetAccessibilityForUsers($params)
{
if (!isset($params['checkPermissions']))
{
$params['checkPermissions'] = true;
}
$res = CCalendarEvent::GetAccessibilityForUsers([
'users' => $params['users'],
'from' => $params['from'],
'to' => $params['to'],
'curEventId' => $params['curEventId'] ?? null,
'checkPermissions' => $params['checkPermissions'],
]);
// Fetch absence from intranet
if (isset($params['getFromHR']) && self::IsIntranetEnabled())
{
$resHR = CIntranetUtils::GetAbsenceData(
array(
'DATE_START' => $params['from'],
'DATE_FINISH' => $params['to'],
'USERS' => $params['users'],
'PER_USER' => true,
'SELECT' => array('ID', 'DATE_ACTIVE_FROM', 'DATE_ACTIVE_TO'),
),
BX_INTRANET_ABSENCE_HR
);
foreach($resHR as $userId => $forUser)
{
if (!isset($res[$userId]) || !is_array($res[$userId]))
{
$res[$userId] = [];
}
foreach($forUser as $event)
{
$res[$userId][] = [
'FROM_HR' => true,
'ID' => $event['ID'],
'DT_FROM' => $event['DATE_ACTIVE_FROM'],
'DT_TO' => $event['DATE_ACTIVE_TO'],
'ACCESSIBILITY' => 'absent',
'IMPORTANCE' => 'normal',
"FROM" => self::Timestamp($event['DATE_ACTIVE_FROM']),
"TO" => self::Timestamp($event['DATE_ACTIVE_TO']),
];
}
}
}
return $res;
}