• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/lib/grid/panel/ui/actions/item/elementgroup/movetosectiongroupchild.php
  • Класс: BitrixIblockGridPanelUIActionsItemElementGroupMoveToSectionGroupChild
  • Вызов: MoveToSectionGroupChild::processRequest
public function processRequest(HttpRequest $request, bool $isSelectedAllRows): ?Result
{
	$result = new Result();

	$controls = $request->getPost('controls');
	if (!is_array($controls))
	{
		return $result;
	}

	$sectionId = (int)($controls['section_id'] ?? 0);
	if ($sectionId <= 0)
	{
		return $result;
	}

	if ($isSelectedAllRows)
	{
		$result->addErrors(
			$this->moveElementsToSection($sectionId, true, [])->getErrors()
		);
		$result->addErrors(
			$this->moveSectionsToSection($sectionId, true, [])->getErrors()
		);
	}
	else
	{
		$ids = $this->getRequestRows($request);
		if (empty($ids))
		{
			return null;
		}

		[$elementIds, $sectionIds] = RowType::parseIndexList($ids);

		if ($elementIds)
		{
			$result->addErrors(
				$this->moveElementsToSection($sectionId, false, $elementIds)->getErrors()
			);
		}

		if ($sectionIds)
		{
			$result->addErrors(
				$this->moveSectionsToSection($sectionId, false, $sectionIds)->getErrors()
			);
		}
	}

	return $result;
}