- Модуль: 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
{
}
}