Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
 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;
 }
Esempio n. 5
0
 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;
 }