• Модуль: lists
  • Путь к файлу: ~/bitrix/modules/lists/lib/controller/iblock.php
  • Класс: BitrixListsControllerIblock
  • Вызов: Iblock::copyAction
public function copyAction()
{
	$param = $this->getParamFromRequest();
	$params = $param->getParams();

	$this->checkPermission($param, IblockRight::EDIT);
	if ($this->getErrors())
	{
		return null;
	}

	$manager = new Manager($params["IBLOCK_TYPE_ID"], [$params["IBLOCK_ID"]], $params["SOCNET_GROUP_ID"]);

	$manager->setIblockImplementer(new IblockImplementer());
	$manager->setFieldImplementer(new Field());

	$dictionary = new Dictionary([
		"LIST_ELEMENT_URL" => ($params["LIST_ELEMENT_URL"] ? $params["LIST_ELEMENT_URL"] : "")
	]);
	$manager->setDictionary($dictionary);

	$result = $manager->startCopy();

	if ($result->getErrors())
	{
		$this->addErrors($result->getErrors());
		return null;
	}

	$mapIdsCopiedIblock = $manager->getMapIdsCopiedEntity();

	if (array_key_exists($params["IBLOCK_ID"], $mapIdsCopiedIblock))
	{
		return $mapIdsCopiedIblock[$params["IBLOCK_ID"]];
	}
	else
	{
		return null;
	}
}