• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/component/userlist.php
  • Класс: BitrixIntranetComponentUserList
  • Вызов: UserList::getDepartmentValue
static function getDepartmentValue(array $params = [])
{
	static $departmentsData = null;

	$result = '';

	$userFields = (isset($params['FIELDS']) ? $params['FIELDS'] : []);
	$path = (isset($params['PATH']) ? $params['PATH'] : '');
	$exportMode = (isset($params['EXPORT_MODE']) && $params['EXPORT_MODE']);

	if (
		empty($userFields)
		|| !isset($userFields['UF_DEPARTMENT'])
	)
	{
		return $result;
	}

	$departmentIdList = $userFields['UF_DEPARTMENT'];

	if ($departmentsData === null)
	{
		$structure = CIntranetUtils::getStructure();
		$departmentsData = $structure['DATA'];
	}

	if (!is_array($departmentIdList))
	{
		$departmentIdList = [ $departmentIdList ];
	}

	$departmentNameList = [];

	foreach($departmentIdList as $departmentId)
	{
		if (
			!empty($departmentsData[$departmentId])
			&& isset($departmentsData[$departmentId]['NAME'])
			&& $departmentsData[$departmentId]['NAME'] <> ''
		)
		{
			$departmentName = ($exportMode ? $departmentsData[$departmentId]['NAME'] : htmlspecialcharsbx($departmentsData[$departmentId]['NAME']));
			$departmentNameList[] = (
				$path <> ''
				&& !$exportMode
					? ''.$departmentName.''
					: $departmentName
			);
		}
	}

	$result = implode(', ', $departmentNameList);

	return $result;
}