• Модуль: dav
  • Путь к файлу: ~/bitrix/modules/dav/classes/general/account.php
  • Класс: CDavAccount
  • Вызов: CDavAccount::GetAddressbookExtranetUserFilter
static function GetAddressbookExtranetUserFilter($siteId, $arFilter = array())
{
	if (CModule::IncludeModule('extranet') && (CExtranet::IsExtranetSite($siteId) || !CExtranet::IsIntranetUser($siteId)))
	{
		if (!CExtranet::IsExtranetAdmin())
		{
			if (array_key_exists('ID', $arFilter) || empty($arFilter['XML_ID']))
			{
				$arIDs = array_merge(CExtranet::GetMyGroupsUsers($siteId), CExtranet::GetPublicUsers());

				if (array_key_exists("ID", $arFilter))
				{
					$arIDs1 = $arFilter["ID"];

					$arIDs = array_intersect($arIDs1, $arIDs);
				}
				else
				{
					$extranet_site = isModuleInstalled('extranet')
						? COption::getOptionString('extranet', 'extranet_site')
						: (isModuleInstalled('bitrix24') ? 'ex' : false);
					$arFilter['XML_ID'] = array(
						'feed-'.$extranet_site,
						'task-'.$extranet_site,
					);
				}

				if (count($arIDs) <= 0)
					$arFilter['ID'] = 0;


			}
		}
	}
	else
	{
		$arFilter['!UF_DEPARTMENT'] = false;
	}

	return $arFilter;
}