• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/usertypemanager.php
  • Класс: CUserTypeManager
  • Вызов: CUserTypeManager::GetRights
function GetRights($ENTITY_ID = false, $ID = false)
{
	if(($ID !== false) && array_key_exists("ID:" . $ID, $this->arRightsCache))
	{
		return $this->arRightsCache["ID:" . $ID];
	}
	if(($ENTITY_ID !== false) && array_key_exists("ENTITY_ID:" . $ENTITY_ID, $this->arRightsCache))
	{
		return $this->arRightsCache["ENTITY_ID:" . $ENTITY_ID];
	}

	global $USER;
	if(is_object($USER) && $USER->CanDoOperation('edit_other_settings'))
	{
		$RIGHTS = "X";
	}
	else
	{
		$RIGHTS = "D";
		if($ID !== false)
		{
			$ar = CUserTypeEntity::GetByID($ID);
			if($ar)
				$ENTITY_ID = $ar["ENTITY_ID"];
		}

		foreach(GetModuleEvents("main", "OnUserTypeRightsCheck", true) as $arEvent)
		{
			$res = ExecuteModuleEventEx($arEvent, array($ENTITY_ID));
			if($res > $RIGHTS)
				$RIGHTS = $res;
		}
	}

	if($ID !== false)
	{
		$this->arRightsCache["ID:" . $ID] = $RIGHTS;
	}
	if($ENTITY_ID !== false)
	{
		$this->arRightsCache["ENTITY_ID:" . $ENTITY_ID] = $RIGHTS;
	}

	return $RIGHTS;
}