addChild("Ид", $serviceRest['one_s_id']); } else { $xmlProduct->addChild("Ид", $serviceRest['servicename']); } } /** * Add props to xml description, specified for service. Need to identificate service in * One Es. * @param SimpleXmlElement $xmlService */ private function addXmlProps($xmlProduct) { $props = $xmlProduct->addChild("ЗначенияРеквизитов"); $prop = $props->addChild("ЗначениеРеквизита"); $prop->addChild("Наименование","ВидНоменклатуры"); $prop->addChild("Значение","Услуга"); $prop = $props->addChild("ЗначениеРеквизита"); $prop->addChild("Наименование","ТипНоменклатуры"); $prop->addChild("Значение","Услуга"); } /** * Get reference from cmlService. * @param CmlService $abstractProduct */ public function getReference($abstractProduct) { $name = $abstractProduct->getName(); $result = $this->query("select id from Services where servicename='$name';"); return $this->getFirstReference($result); } /** * Return SimpleXmlElement of service by it id or null if product not exists. * @param int $id * @return SimpleXmlElement | NULL */ public function getCatalogXmlInventoryById($id) { $result = $this->query("select * from Services where id=x$id;"); //rest need prefix in request $serviceRest = $this->getFirstQueryResult($result); if($serviceRest != null) { $xmlService = new SimpleXMLElement("<Товар>"); $xmlService->addChild("Наименование", $serviceRest['servicename']); $this->addUsageUnit($xmlService, $serviceRest['service_usageunit']); $xmlService->addChild("Единица", vtranslate($serviceRest['service_usageunit'])); $this->addXmlIdentifier($xmlService, $serviceRest); $this->addXmlProps($xmlService); } return $xmlService; } /** * Return product xml element, describes its offer. * @param int $inventoryId * @return SimpleXMLElement | null */ public function getPackageXmlInventoryById($inventoryId) { $result = $this->query("select * from Services where id=x$inventoryId;"); //rest need prefix in request $serviceRest = $this->getFirstQueryResult($result); if($serviceRest != null) { $serviceRest['currency_code'] = $this->getInventoryCurrencyCode($inventoryId); //rest not return currency $xmlService = new SimpleXMLElement("<Предложение>"); $xmlService->addChild("Наименование", $serviceRest['servicename']); $xmlService->addChild("Количество", $serviceRest['qtyinstock']); $this->addXmlIdentifier($xmlService, $serviceRest); $this->addXmlPrice($xmlService, $serviceRest); } return $xmlService; } }