• Модуль: dav
  • Путь к файлу: ~/bitrix/modules/dav/classes/general/addressbookbase.php
  • Класс: ofCDavAddressbookBase
  • Вызов: CDavAddressbookBase::CheckPrivileges
public function CheckPrivileges($testPrivileges, $principal, $collectionId)
{
	if (is_object($principal) && ($principal instanceof CDavPrincipal))
		$principal = $principal->Id();

	if (!is_numeric($principal))
		return false;

	$principal = intval($principal);

	if (!is_array($collectionId))
		$collectionId = array($collectionId);
	$collectionIdNorm = implode("-", $collectionId);

	static $arCollectionPrivilegesCache = array();
	if (!isset($arCollectionPrivilegesCache[$collectionIdNorm][$principal]))
	{
		$arCollectionPrivilegesCache[$collectionIdNorm][$principal] = CDav::PackPrivileges($this->GetMinimumPrivileges());
	}

	$testPrivilegesBits = CDav::PackPrivileges($testPrivileges);
	return (($arCollectionPrivilegesCache[$collectionIdNorm][$principal] & $testPrivilegesBits) > 0) && $this->AdditionalPrivilegesCheck($principal);
}