• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/iblock_rights.php
  • Класс: CIBlockRightsStorage
  • Вызов: CIBlockRightsStorage::AddSelfSet
function AddSelfSet($RIGHT_ID, $bInherited = false)
{
	global $DB;

	if($this->ELEMENT_ID > 0)
	{
		$DB->Query("
			INSERT INTO b_iblock_element_right (IBLOCK_ID, SECTION_ID, ELEMENT_ID, RIGHT_ID, IS_INHERITED)
			SELECT ".$this->IBLOCK_ID.", ".$this->SECTION_ID.", BE.ID, ".intval($RIGHT_ID).", '".($bInherited? "Y": "N")."'
			FROM
				b_iblock_element BE
				LEFT JOIN b_iblock_element_right ER ON ER.ELEMENT_ID = BE.ID AND ER.SECTION_ID = ".$this->SECTION_ID." AND ER.RIGHT_ID = ".intval($RIGHT_ID)."
			WHERE
				BE.ID = ".$this->ELEMENT_ID."
				AND ER.SECTION_ID IS NULL
		");
	}
	elseif(is_array($this->_get_section()))
	{
		$DB->Query("
			INSERT INTO b_iblock_section_right (IBLOCK_ID, SECTION_ID, RIGHT_ID, IS_INHERITED)
			SELECT ".$this->IBLOCK_ID.", BS.ID, ".intval($RIGHT_ID).", '".($bInherited? "Y": "N")."'
			FROM
				b_iblock_section BS
				LEFT JOIN b_iblock_section_right SR ON SR.SECTION_ID = BS.ID AND SR.RIGHT_ID = ".intval($RIGHT_ID)."
			WHERE
				BS.ID = ".$this->SECTION_ID."
				AND SR.SECTION_ID IS NULL
		");
	}
	else
	{
	}
}