• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/copy/implement/iblock.php
  • Класс: BitrixIblockCopyImplementIblock
  • Вызов: Iblock::getRights
private function getRights($iblockId, $rightMode, $socnetGroupId = 0)
{
	$rights = [];

	if ($socnetGroupId)
	{
		$rights = $this->getSocnetPermission($iblockId, $socnetGroupId);
	}

	if ($rightMode == "E")
	{
		$rightObject = new CIBlockRights($iblockId);
		foreach ($rightObject->getRights() as $right)
		{
			if (mb_strpos($right["GROUP_CODE"], "SG") !== 0)
			{
				$rights["n".(count($rights))] = [
					"GROUP_CODE" => $right["GROUP_CODE"],
					"DO_CLEAN" => "N",
					"TASK_ID" => $right["TASK_ID"],
				];
			}
		}
	}
	else
	{
		$groupPermissions = CIBlock::getGroupPermissions($iblockId);
		foreach ($groupPermissions as $groupId => $permission)
		{
			if ($permission > "W")
			{
				$rights["n".(count($rights))] = [
					"GROUP_CODE" => "G".$groupId,
					"IS_INHERITED" => "N",
					"TASK_ID" => CIBlockRights::letterToTask($permission),
				];
			}
		}
	}

	return $rights;
}