- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/userfield/resourcebooking.php
- Класс: BitrixCalendarUserFieldResourceBooking
- Вызов: ResourceBooking::getUserFieldByFieldName
static function getUserFieldByFieldName($fieldName = '', $selectedUsers = [])
{
$resultData = null;
if ($fieldName)
{
$r = CUserTypeEntity::getList(array("ID" => "ASC"), array("FIELD_NAME" => $fieldName));
if ($r)
{
$resultData = $r->fetch();
}
}
if (!is_array($selectedUsers))
{
$selectedUsers = [];
}
if (is_array($resultData) && isset($resultData['SETTINGS']['SELECTED_USERS']))
{
$selectedUsers = array_merge($selectedUsers, $resultData['SETTINGS']['SELECTED_USERS']);
}
array_walk($selectedUsers, 'intval');
$selectedUsers = array_unique($selectedUsers);
if (!empty($selectedUsers))
{
$orm = UserTable::getList([
'filter' => [
'=ID' => $selectedUsers,
'=ACTIVE' => 'Y'
],
'select' => ['ID', 'LOGIN', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'EMAIL']
]);
$resultData['SETTINGS']['USER_INDEX'] = [];
while($user = $orm->fetch())
{
$resultData['SETTINGS']['USER_INDEX'][$user['ID']] = [
'id' => $user['ID'],
'displayName' => CCalendar::getUserName($user)
];
}
}
return $resultData;
}