• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/block.php
  • Класс: BitrixLandingBlock
  • Вызов: Block::cloneForEdit
static function cloneForEdit(BitrixLandingLanding $landing)
{
	if ($landing->exist())
	{
		$clone = true;
		$forClone = array();

		$res = parent::getList(array(
			'select' => array(
				'ID', 'LID', 'CODE', 'SORT', 'ACTIVE',
				'CONTENT', 'PUBLIC', 'ACCESS', 'ANCHOR',
				'DESIGNED'
			),
			'filter' => array(
				'LID' => $landing->getId()
			)
		));
		while ($row = $res->fetch())
		{
			if ($row['PUBLIC'] != 'Y')
			{
				$clone = false;
				break;
			}
			else
			{
				if (!$row['ANCHOR'])
				{
					$row['ANCHOR'] = 'b' . $row['ID'];
				}
				$row['PUBLIC'] = 'N';
				$row['PARENT_ID'] = $row['ID'];
				unset($row['ID']);
				$forClone[] = $row;
			}
		}

		if ($clone)
		{
			foreach ($forClone as $row)
			{
				parent::add($row);
			}
		}
	}
}