/** * Saves and returns the new or updated item * * @param \Aimeos\MShop\Common\Manager\Iface $manager Manager responsible for the items * @param \stdClass $entry Object including "id" and "attributes" elements * @return \Aimeos\MShop\Common\Item\Iface New or updated item */ protected function saveEntry(\Aimeos\MShop\Common\Manager\Iface $manager, \stdClass $entry) { $targetId = isset($entry->targetid) ? $entry->targetid : null; $refId = isset($entry->refid) ? $entry->refid : null; if (isset($entry->id)) { $item = $manager->getItem($entry->id); $item = $this->addItemData($manager, $item, $entry, $item->getResourceType()); $manager->saveItem($item); if (isset($entry->parentid) && $targetId !== null) { $manager->moveItem($item->getId(), $entry->parentid, $targetId, $refId); } } else { $item = $manager->createItem(); $item = $this->addItemData($manager, $item, $entry, $item->getResourceType()); $manager->insertItem($item, $targetId, $refId); } if (isset($entry->relationships)) { $this->saveRelationships($manager, $item, $entry->relationships); } return $manager->getItem($item->getId()); }
/** * Saves and returns the new or updated item * * @param \Aimeos\MShop\Common\Manager\Iface $manager Manager responsible for the items * @param \stdClass $entry Object including "id" and "attributes" elements * @return \Aimeos\MShop\Common\Item\Iface New or updated item */ protected function saveEntry(\Aimeos\MShop\Common\Manager\Iface $manager, \stdClass $entry) { if (isset($entry->id)) { $item = $manager->getItem($entry->id); } else { $item = $manager->createItem(); } $item = $this->addItemData($manager, $item, $entry, $item->getResourceType()); $manager->saveItem($item); if (isset($entry->relationships)) { $this->saveRelationships($manager, $item, $entry->relationships); } return $manager->getItem($item->getId()); }