orderIds = $orderIds; return $this; } public function getOrderIds() { return $this->orderIds; } protected function prepdate($date) { if (empty($date)) { return ''; } $date = new DateTime($date); return $date->format('Y-m-d'); } public function exportData($params) { $this->setHeader($params); /* @var KupShop\OrderingBundle\Util\Order\DeliveryInfo deliveryInfoService */ $this->deliveryInfoService = ServiceContainer::getService('KupShop\OrderingBundle\Util\Order\DeliveryInfo'); $where = 'o.id IN ('.(!empty($this->orderIds) ? join(',', $this->orderIds) : '0').')'; $orders = sqlQuery("SELECT o.id FROM orders o WHERE {$where}"); // Select all vats $vats = sqlFetchAll(sqlQuery('SELECT vat, 0 tmp FROM vats ORDER BY vat'), ['vat' => 'tmp']); // Append non-existent vats from orders $vats_order = sqlQuery("SELECT distinct COALESCE(tax, 0) vat, 0 tmp FROM orders as o LEFT JOIN order_items oi on oi.id_order=o.id WHERE {$where} ORDER BY vat"); foreach ($vats_order as $row) { if (!isset($vats[$row['vat']])) { $vats[$row['vat']] = 0; } } $smarty = createSmarty(true, true); $smarty->assign([ 'orders' => $orders, 'vats' => $vats, 'this' => $this, ]); ob_start('ordersOutputBuffer', 4096); $template = getVal('format', $params, $params['file_ext']); $smarty->display("export/orders_{$template}.tpl"); } public function getOrder($id_order) { $orderObj = new \Order($id_order); $orderObj->createFromDB($id_order); $orderObj->fetchItems(); $orderObj->fetchDates(); $orderObj->deliveryItemId = $this->deliveryInfoService->getDeliveryItem($orderObj); if (is_null($orderObj->date_handle)) { $orderObj->date_handle = $orderObj->date_created; } return $orderObj; } }