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