• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/location/tree.php
  • Класс: BitrixSaleLocationTree
  • Вызов: Tree::updateExtended
static function updateExtended($primary, array $data, array $additional = array())
{
	$rebalance = !isset($additional['REBALANCE']) || $additional['REBALANCE'] !== false;
	$node = self::getNodeInfo($primary);

	if(isset($data['PARENT_ID']) && !mb_strlen($data['PARENT_ID']))
		$data['PARENT_ID'] = 0;

	$updResult = parent::update($primary, $data);

	// if we have 'PARENT_ID' key in $data, and it was changed, we should relocate subtree
	if($updResult->isSuccess() && isset($data['PARENT_ID']) && (intval($node['PARENT_ID']) != intval($data['PARENT_ID'])) && $rebalance)
		self::moveSubtree($primary, $data['PARENT_ID']);

	return $updResult;
}