public function map($okOrderStatus) { $bfOrderStatus = BfObjectFactory::getInstance("BfOrderStatus", $this->bfVersion); $bfOrderStatusFieldsValidators = BfObjectFactory::getValidators("BfOrderStatus", $this->bfVersion); $bfObjectFiller = new BfObjectFiller($bfOrderStatus, $bfOrderStatusFieldsValidators, $this->logger); $bfObjectFiller->putIntoIfValid("ProductStoreId", "BF_STORE"); $bfObjectFiller->putIntoIfValid("OrderId", $okOrderStatus->order_id); $bfObjectFiller->putIntoIfValid("OrderStatus", "COMPLETED"); $bfObjectFiller->putIntoIfValid("OrderShipDate", $okOrderStatus->ship_date . " 00:00:00"); $bfObjectFiller->putIntoIfValid("OrderShipCarrier", $this->orderShipCarrier); $bfObjectFiller->putIntoIfValid("OrderShipMethod", $this->orderShipMethod); $bfObjectFiller->putIntoIfValid("OrderTrackingNumber", $okOrderStatus->tracking_number); $shippingModeName = sprintf(_("Command sent by %s"), $okOrderStatus->shipping_modes_name); $shippingModeImage = ""; if ($okOrderStatus->shipping_modes_image != "") { $shippingModeImage = sprintf("<br /><img src=\"http://images.client.com/images/shipping_modes/%s\" />", $okOrderStatus->shipping_modes_image); } if ($okOrderStatus->shipping_url != "" && $okOrderStatus->tracking_number != "") { $trackingUrl = sprintf($okOrderStatus->shipping_url, urlencode($okOrderStatus->tracking_number)); $trackingNumberWithLink = sprintf(_("<br /><a href=\"%s\">track this order with number %s</a>"), $trackingUrl, $okOrderStatus->tracking_number); } else { $trackingNumberWithLink = ""; } $bfObjectFiller->putIntoIfValid("OrderNote", $shippingModeName . $shippingModeImage . $trackingNumberWithLink); // Si ajout des OrderItem, penser à dé-préfixer les id produits dans ce flux !!! $bfOrderStatusValidator = new BfOrderStatusValidator($this->logger); if (false == $bfOrderStatusValidator->isComplete($bfOrderStatus)) { throw new XmlItemMapperException(sprintf("Incomplete order status <%s>", $okOrderStatus->order_id)); } return $bfOrderStatus; }
public function map($okProduct) { $bfProduct = BfObjectFactory::getInstance("BfProduct", $this->bfVersion); $bfProductFieldsValidators = BfObjectFactory::getValidators("BfProduct", $this->bfVersion); $bfObjectFiller = new BfObjectFiller($bfProduct, $bfProductFieldsValidators, $this->logger); $productAvailability = new OkProductAvailability(); $productAvailability->setLeadtimeToShip($okProduct->leadtime_to_ship); $productAvailability->setQuantity($okProduct->quantity); $bfObjectFiller->putIntoIfValid("MasterProductId", BfDataFormatter::prefixKey($okProduct->sku, $this->idPrefix)); $bfObjectFiller->putIntoIfValid("InternalName", $okProduct->products_products_model); $bfObjectFiller->putIntoIfValid("ProductName", BfDataFormatter::formatName($okProduct->products_description_products_name)); $bfObjectFiller->putIntoIfValid("SalesPitch", $okProduct->products_description_products_informations); if ($okProduct->products_description_products_description == "") { $longDescription = _("No description available"); } else { $longDescription = $okProduct->products_description_products_description; } $bfObjectFiller->putIntoIfValid("LongDescription", $longDescription); $bfObjectFiller->putIntoIfValid("DeliveryInfo", $productAvailability->getStatus()); $discoDate = $productAvailability->getDiscoDate(); if ($discoDate != "") { $bfObjectFiller->putIntoIfValid("DiscoDate", $discoDate); } $bfObjectFiller->putIntoIfValid("PlpLabel", $okProduct->products_products_model); $bfObjectFiller->putIntoIfValid("PdpLabel", $okProduct->products_products_model); $bfObjectFiller->putIntoIfValid("ProductWeight", $okProduct->products_products_weight); $bfObjectFiller->putIntoIfValid("Returnable", "Y"); $bfObjectFiller->putIntoIfValid("Taxable", "Y"); $bfObjectFiller->putIntoIfValid("ChargeShipping", "Y"); $bfObjectFiller->putIntoIfValid("ManufacturerId", BfDataFormatter::prefixKey($okProduct->products_manufacturers_id, $this->idPrefix)); $bfObjectFiller->putIntoIfValid("ProductPrice->ListPrice->Price", BfDataFormatter::formatToDecimal3($okProduct->regular_price)); $bfObjectFiller->putIntoIfValid("ProductPrice->ListPrice->Currency", "EUR"); $bfObjectFiller->putIntoIfValid("ProductPrice->SalesPrice->Price", BfDataFormatter::formatToDecimal3($okProduct->final_price)); $bfObjectFiller->putIntoIfValid("ProductPrice->SalesPrice->Currency", "EUR"); // On prend seulement le premier id de catégorie pour l'instant $okCategoryTree = explode(",", $okProduct->categories_categories_id); $bfObjectFiller->putIntoIfValid("ProductCategoryMember->Category[0]->CategoryId", $okCategoryTree[0]); $bfObjectFiller->putIntoIfValid("ProductCategoryMember->Category[1]->CategoryId", $this->taxCategory); $bfObjectFiller->putIntoIfValid("ProductCategoryMember->Category[2]->CategoryId", $this->viewAllowCategory); $viewAllowTruDate = $productAvailability->getViewAllowThruDate(); if ($viewAllowTruDate != "") { $bfObjectFiller->putIntoIfValid("ProductCategoryMember->Category[2]->ThruDate", $viewAllowTruDate); } $imageUrl = new ImageUrl($okProduct->products_products_image); $bfObjectFiller->putIntoIfValid("ProductImage->PlpSmallImage->Url", $imageUrl->getSquareUrl()); $bfObjectFiller->putIntoIfValid("ProductImage->PdpThumbnailImage->Url", $imageUrl->getThumbnailUrl()); $bfObjectFiller->putIntoIfValid("ProductImage->PdpLargeImage->Url", $imageUrl->getSquareUrl()); $bfObjectFiller->putIntoIfValid("ProductImage->PdpDetailImage->Url", $imageUrl->getHiResUrl()); $bfObjectFiller->putIntoIfValid("ProductGoodIdentification->Sku", $okProduct->sku); $bfObjectFiller->putIntoIfValid("ProductGoodIdentification->Isbn", $okProduct->products_help_ean); $bfObjectFiller->putIntoIfValid("ProductGoodIdentification->ManuId", $okProduct->products_help_marque_ref); $bfObjectFiller->putIntoIfValid("ProductInventory->BigfishInventoryTotal", $okProduct->gros_products_info_gros_products_stock); $bfObjectFiller->putIntoIfValid("ProductInventory->BigfishInventoryWarehouse", $okProduct->gros_products_info_gros_products_stock); $bfProductValidator = new BfProductValidator($this->logger); if (false == $bfProductValidator->isComplete($bfProduct)) { throw new XmlItemMapperException(sprintf("Incomplete product <%s>", $okProduct->sku)); } return $bfProduct; }
public function map($okProductUpdate) { $bfProductUpdate = BfObjectFactory::getInstance("BfProductUpdate", $this->bfVersion); $bfProductUpdateFieldsValidators = BfObjectFactory::getValidators("BfProductUpdate", $this->bfVersion); $bfObjectFiller = new BfObjectFiller($bfProductUpdate, $bfProductUpdateFieldsValidators, $this->logger); $productAvailability = new OkProductAvailability(); $productAvailability->setLeadtimeToShip($okProductUpdate->leadtime_to_ship); $productAvailability->setQuantity($okProductUpdate->quantity); $bfObjectFiller->putIntoIfValid("MasterProductId", BfDataFormatter::prefixKey($okProductUpdate->sku, $this->idPrefix)); if ($okProductUpdate->products_description_products_description == "") { $longDescription = _("No description available"); } else { $longDescription = $okProductUpdate->products_description_products_description; } $bfObjectFiller->putIntoIfValid("LongDescription", $longDescription); $bfObjectFiller->putIntoIfValid("DeliveryInfo", $productAvailability->getStatus()); $discoDate = $productAvailability->getDiscoDate(); if ($discoDate != "") { $bfObjectFiller->putIntoIfValid("DiscoDate", $discoDate); } $bfObjectFiller->putIntoIfValid("ProductPrice->ListPrice->Price", BfDataFormatter::formatToDecimal3($okProductUpdate->regular_price)); $bfObjectFiller->putIntoIfValid("ProductPrice->ListPrice->Currency", "EUR"); $bfObjectFiller->putIntoIfValid("ProductPrice->SalesPrice->Price", BfDataFormatter::formatToDecimal3($okProductUpdate->final_price)); $bfObjectFiller->putIntoIfValid("ProductPrice->SalesPrice->Currency", "EUR"); // On prend seulement le premier id de catégorie pour l'instant $okCategoryTree = explode(",", $okProductUpdate->categories_categories_id); $bfObjectFiller->putIntoIfValid("ProductCategoryMember->Category[0]->CategoryId", $okCategoryTree[0]); $bfObjectFiller->putIntoIfValid("ProductCategoryMember->Category[1]->CategoryId", $this->taxCategory); $bfObjectFiller->putIntoIfValid("ProductCategoryMember->Category[2]->CategoryId", $this->viewAllowCategory); $viewAllowTruDate = $productAvailability->getViewAllowThruDate(); if ($viewAllowTruDate != "") { $bfObjectFiller->putIntoIfValid("ProductCategoryMember->Category[2]->ThruDate", $viewAllowTruDate); } $bfObjectFiller->putIntoIfValid("ProductInventory->BigfishInventoryTotal", $okProductUpdate->quantity); $bfObjectFiller->putIntoIfValid("ProductInventory->BigfishInventoryWarehouse", $okProductUpdate->quantity); $bfProductValidator = new BfProductValidator($this->logger); if (false == $bfProductValidator->isComplete($bfProductUpdate)) { throw new XmlItemMapperException(sprintf("Incomplete product update <%s>", $okProductUpdate->sku)); } return $bfProductUpdate; }
public function map($okManufacturer) { $bfManufacturer = BfObjectFactory::getInstance("BfManufacturer", $this->bfVersion); $bfManufacturerFieldsValidators = BfObjectFactory::getValidators("BfManufacturer", $this->bfVersion); $bfObjectFiller = new BfObjectFiller($bfManufacturer, $bfManufacturerFieldsValidators, $this->logger); $bfObjectFiller->putIntoIfValid("ManufacturerId", BfDataFormatter::prefixKey($okManufacturer->manufacturers_id, $this->idPrefix)); $bfObjectFiller->putIntoIfValid("ManufacturerName", BfDataFormatter::formatName($okManufacturer->manufacturers_name)); $bfObjectFiller->putIntoIfValid("Description", $okManufacturer->manufacturers_abr); $bfObjectFiller->putIntoIfValid("LongDescription", $okManufacturer->manufacturers_url); $manufacturerImageUrl = $okManufacturer->manufacturers_image != '' ? "http://images.client.com/images/" . $okManufacturer->manufacturers_image : ''; $bfObjectFiller->putIntoIfValid("ManufacturerImage->Url", $manufacturerImageUrl); // $bfObjectFiller->putIntoIfValid( "ManufacturerImage->ThruDate", '' ); // $bfObjectFiller->putIntoIfValid( "Address->Address1", '' ); // $bfObjectFiller->putIntoIfValid( "Address->CityTown", '' ); // $bfObjectFiller->putIntoIfValid( "Address->StateProvince", '' ); // $bfObjectFiller->putIntoIfValid( "Address->ZipPostCode", '' ); // $bfObjectFiller->putIntoIfValid( "Address->Country", '' ); $bfManufacturerValidator = new BfManufacturerValidator($this->logger); if (false == $bfManufacturerValidator->isComplete($bfManufacturer)) { throw new XmlItemMapperException(sprintf("Incomplete manufacturer <%s>", $okManufacturer->manufacturers_name)); } return $bfManufacturer; }
public function map($okCategory) { $bfCategory = BfObjectFactory::getInstance("BfCategory", $this->bfVersion); $bfCategoryFieldsValidators = BfObjectFactory::getValidators("BfCategory", $this->bfVersion); $bfObjectFiller = new BfObjectFiller($bfCategory, $bfCategoryFieldsValidators, $this->logger); $bfObjectFiller->putIntoIfValid("CategoryId", BfDataFormatter::prefixKey($okCategory->categories_id, $this->idPrefix)); $bfObjectFiller->putIntoIfValid("ParentCategoryId", BfDataFormatter::prefixKey($okCategory->parent_id, $this->idPrefix)); $bfObjectFiller->putIntoIfValid("CategoryName", BfDataFormatter::formatName(strip_tags($okCategory->categories_name))); $bfObjectFiller->putIntoIfValid("Description", $okCategory->categories_name); // dans OfBiz, description est un varchar(255), on ne peut donc pas mettre le champ cd.categories_text qui est trop long $longDescription = $okCategory->categories_text != '' ? $okCategory->categories_text : "-"; $bfObjectFiller->putIntoIfValid("LongDescription", $longDescription); $bfObjectFiller->putIntoIfValid("AdditionalPlpText", $okCategory->categories_abr); $bfObjectFiller->putIntoIfValid("AdditionalPdpText", $okCategory->categories_abr); $plpImageUrl = $okCategory->categories_image != '' ? "http://images.client.com/images/" . $okCategory->categories_image : ''; $bfObjectFiller->putIntoIfValid("PlpImage->Url", $plpImageUrl); //$bfObjectFiller->putIntoIfValid( "FromDate", ""); //$bfObjectFiller->putIntoIfValid( "ThruDate", ""); $bfCategoryValidator = new BfCategoryValidator($this->logger); if (false == $bfCategoryValidator->isComplete($bfCategory)) { throw new XmlItemMapperException(sprintf("Incomplete category <%s>", $okCategory->categories_name)); } return $bfCategory; }