• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/classes/general/utils.php
  • Класс: CIntranetUtils
  • Вызов: CIntranetUtils::GetDepartmentsData
static function GetDepartmentsData($arDepartments)
{
	global $INTR_DEPARTMENTS_CACHE, $INTR_DEPARTMENTS_CACHE_VALUE;

	$arDep = array();

	if (!is_array($arDepartments))
		return false;

	if (!is_array($INTR_DEPARTMENTS_CACHE))
		$INTR_DEPARTMENTS_CACHE = array();
	if (!is_array($INTR_DEPARTMENTS_CACHE_VALUE))
		$INTR_DEPARTMENTS_CACHE_VALUE = array();

	$arNewDep = array_diff($arDepartments, $INTR_DEPARTMENTS_CACHE);

	if (count($arNewDep) > 0)
	{
		$dbRes = CIBlockSection::GetList(array('SORT' => 'ASC'), array('ID' => $arNewDep));
		while ($arSect = $dbRes->Fetch())
		{
			$arParams['IBLOCK_ID'][] = $arSect['IBLOCK_ID'];
			$INTR_DEPARTMENTS_CACHE[] = $arSect['ID'];
			$INTR_DEPARTMENTS_CACHE_VALUE[$arSect['ID']] = $arSect['NAME'];
		}
	}

	foreach ($arDepartments as $key => $sect)
	{
		$arDep[$sect] = $INTR_DEPARTMENTS_CACHE_VALUE[$sect];
	}

	return $arDep;
}