protected function createShopOrder($order) { if (!is_array($order)) { $order = $this->getOrder($order); } $order_id = $order['id_order']; $currency = Currency::getCurrencyInstance((int) $order['id_currency']); $shop_order = YousticeShopOrder::create(); $shop_order->setDescription(''); if (empty($order)) { exit('Operation not allowed'); } $shop_order->setName('#' . $order['reference']); $shop_order->setCurrency($currency->iso_code); $shop_order->setPrice((double) $order['total_paid']); $shop_order->setId($order_id); $shop_order->setDeliveryDate($order['delivery_date']); $shop_order->setOrderDate($order['date_add']); $shop_order->setHref($this->createOrderReportHref($order_id)); $shop_order->setOrderDetailHref($this->createOrderDetailHref($order_id)); if ($order['total_paid_real'] >= $order['total_paid']) { $shop_order->setPaymentState(YousticeShopOrder::PAID); } if (strtotime($order['delivery_date']) > 0) { $shop_order->setDeliveryState(YousticeShopOrder::DELIVERED); } $shop_order->setOtherInfo(''); $order_object = new Order((int) $order_id); $products = $order_object->getProducts(); foreach ($products as $product) { $shop_product = $this->createShopProduct($product, $order_id); $shop_product->setCurrency($currency->iso_code); $shop_product->setDeliveryDate($order['delivery_date']); $shop_product->setOrderDate($order['date_add']); $shop_order->addProduct($shop_product); } return $shop_order; }