Решение для добавления прав на элемент для определенного юзверя.
В init.php добавляем обработчик событий перед добавлением/обновлением элементов инфоблока:
Код |
---|
AddEventHandler("iblock", "OnBeforeIBlockElementAdd", "IBlockElementBeforeSaveHandler");
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", "IBlockElementBeforeSaveHandler");
|
Далее в самом обработчике дополняем массив элемента (ссылка на который передается в качестве параметра функции массивом RIGHTS):
Код |
---|
function IBlockElementBeforeSaveHandler(&$arFields) {
if ($arFields['IBLOCK_ID'] == 17) {
$arFields["RIGHTS"] = array(
"n0" => array("GROUP_CODE" => "U111", "DO_CLEAN" => "N", "TASK_ID" => 34)
);
}
}
|
Пояснение:
17 - это ID нужного инфоблока, это понятно
111 - это ID нашего счастливого пользователя - будущего обладателя прав
34 - это ID права "Изменение" (но от сайта к сайту этот ID разный, нужно его смотреть здесь /bitrix/admin/task_admin.php?lang=ru, заходя внутрь нужного статуса можно увидеть его ID...)