• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/classes/general/invite_dialog.php
  • Класс: CIntranetInviteDialog
  • Вызов: CIntranetInviteDialog::GetSiteByDepartmentId
static function GetSiteByDepartmentId($arDepartmentId)
{
	if (!is_array($arDepartmentId))
	{
		$arDepartmentId = array($arDepartmentId);
	}

	$dbSitesList = CSite::GetList("SORT", "asc", array("ACTIVE" => "Y")); // cache used
	while ($arSite = $dbSitesList->GetNext())
	{
		$siteRootDepartmentId = COption::GetOptionString("main", "wizard_departament", false, $arSite["LID"], true);
		if ($siteRootDepartmentId)
		{
			if (in_array($siteRootDepartmentId, $arDepartmentId))
			{
				return $arSite["LID"];
			}

			$arSubStructure = CIntranetUtils::getSubStructure($siteRootDepartmentId);
			$arSiteDepartmentId = array_keys($arSubStructure["DATA"]);

			foreach ($arDepartmentId as $userDepartmentId)
			{
				if (in_array($userDepartmentId, $arSiteDepartmentId))
				{
					return $arSite["LID"];
				}
			}
		}
	}

	return SITE_ID;
}