- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/log_tools.php
- Класс: CSocNetLogComponent
- Вызов: CSocNetLogComponent::GetSiteByDepartmentId
static function GetSiteByDepartmentId($arDepartmentId)
{
if (!is_array($arDepartmentId))
{
$arDepartmentId = array($arDepartmentId);
}
$bFound = $arResult = false;
$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))
{
$arResult = $arSite;
$bFound = true;
}
else
{
$arSubStructure = CIntranetUtils::getSubStructure($siteRootDepartmentId);
$arSiteDepartmentId = array_keys($arSubStructure["DATA"]);
foreach($arDepartmentId as $userDepartmentId)
{
if(in_array($userDepartmentId, $arSiteDepartmentId))
{
$arResult = $arSite;
$bFound = true;
break;
}
}
}
if($bFound)
{
break;
}
}
}
if (!$bFound)
{
if ($defSiteId = CSite::getDefSite())
{
$res = CSite::getByID($defSiteId);
$arResult = $res->fetch();
}
}
return $arResult;
}