private static function _getMultiSkuItemDescription($data, $id_currency) { return EbaySynchronizer::_getItemDescription($data, $id_currency); }
/** * Exports the product to eBay and updates the ebay_product table * **/ private static function _exportProductToEbay($product, $data, $ebay_category, $ebay, $date, $context, $id_lang) { if (count($data['variations'])) { // the product is multivariation if (EbaySynchronizer::_isProductMultiSku($ebay_category, $product->id, $id_lang)) { // the category accepts multisku products and there is variables matching $data['item_specifics'] = EbaySynchronizer::_getProductItemSpecifics($ebay_category, $product, $id_lang); $data['description'] = EbaySynchronizer::_getMultiSkuItemDescription($data); if ($item_id = EbayProduct::getIdProductRefByIdProduct($product->id)) { $data['itemID'] = $item_id; if (!EbaySynchronizer::_hasVariationProducts($data['variations'])) { EbaySynchronizer::endProductOnEbay($ebay, $context, $id_lang, $item_id); } else { $ebay = EbaySynchronizer::_updateMultiSkuItem($product->id, $data, $ebay, $date); } } else { EbaySynchronizer::_addMultiSkuItem($product->id, $data, $ebay, $date); } } else { // No Multi Sku case so we do multiple products from a multivariation product $data['item_specifics'] = EbaySynchronizer::_getProductItemSpecifics($ebay_category, $product, $id_lang, true); foreach ($data['variations'] as $variation) { $data_variation = EbaySynchronizer::_getVariationData($data, $variation); // Check if product exists on eBay if ($itemID = EbayProduct::getIdProductRefByIdProduct($product->id, $data_variation['id_attribute'])) { $data_variation['itemID'] = $itemID; if ($data_variation['quantity'] < 1) { // no more products EbaySynchronizer::endProductOnEbay($ebay, $context, $id_lang, $itemID); } else { EbaySynchronizer::_updateItem($product->id, $data_variation, $ebay, $date, $data_variation['id_attribute']); } } else { EbaySynchronizer::_addItem($product->id, $data_variation, $ebay, $date, $data_variation['id_attribute']); } } } } else { // the product is not a multivariation product $data['item_specifics'] = EbaySynchronizer::_getProductItemSpecifics($ebay_category, $product, $id_lang); $data['description'] = EbaySynchronizer::_getItemDescription($data); // Check if product exists on eBay if ($itemID = EbayProduct::getIdProductRefByIdProduct($product->id)) { $data['itemID'] = $itemID; // Delete or Update if ($data['quantity'] < 1) { EbaySynchronizer::endProductOnEbay($ebay, $context, $id_lang, $itemID); } else { EbaySynchronizer::_updateItem($product->id, $data, $ebay, $date); } } else { EbaySynchronizer::_addItem($product->id, $data, $ebay, $date); } } return $ebay; }