- Модуль: webdav
- Путь к файлу: ~/bitrix/modules/webdav/classes/iblock.php
- Класс: CWebDavIblock
- Вызов: CWebDavIblock::appendRightsOnElements
static function appendRightsOnElements(array $files, array $rights)
{
$tasks = CWebDavIblock::GetTasks();
$reformatRights = array();
$i = 0;
foreach ($rights as $letter => $groupCodes)
{
if(!is_array($groupCodes))
{
$groupCodes = array($groupCodes);
}
foreach ($groupCodes as $groupCode)
{
$reformatRights['n' . $i] = array(
'GROUP_CODE' => $groupCode,
'TASK_ID' => $tasks[$letter],//todo check isset!
);
$i++;
}
unset($groupCode);
}
unset($right);
foreach ($files as $file)
{
if(!is_array($file))
{
continue;
}
if (CIBlock::GetArrayByID($file['IBLOCK_ID'], "RIGHTS_MODE") === "E")
{
$rightObject = CWebDavIblock::_get_ib_rights_object('ELEMENT', $file['ID'], $file['IBLOCK_ID']);
$rightObject->SetRights(CWebDavTools::appendRights($rightObject, $reformatRights, $tasks));
}
}
unset($file);
}