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