• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/lib/ivr/ivr.php
  • Класс: BitrixVoximplantIvrIvr
  • Вызов: Ivr::setItems
public function setItems(array $newItems)
{
	$oldItems = array();
	foreach ($this->items as $item)
	{
		if($item->getId() > 0)
		{
			$oldItems[$item->getId()] = $item;
		}
	}
	$this->items = array();

	foreach ($newItems as $item)
	{
		if(is_array($item))
		{
			$item = Item::createFromArray($item);
		}

		if($item->getId() > 0 && !empty($oldItems))
		{
			if(isset($oldItems[$item->getId()]))
			{
				$tmpNewItem = $oldItems[$item->getId()];
				$tmpNewItem->setFromArray($item->toArray());
				$this->items[] = $tmpNewItem;
				unset($oldItems[$item->getId()]);
			}
			else
			{
				$item->setId(0);
				$this->items[] = $item;
			}
		}
		else
		{
			$this->items[] = $item;
		}
	}

	foreach ($oldItems as $item)
	{
		$this->itemsToDelete[] = $item;
	}

	return $this;
}