$objDobaOrderFile->processData($objDobaOrders); if ($ordergroup == 'new') { DobaLog::logOrderDownload($objDobaOrders, $filename, $now); } exit; } $downloaded = false; } else { if ($_POST['act'] == 'api_send') { include_once 'doba/DobaOrdersAPI.php'; $action = DOBA_API_ACTION_CREATEORDER; $o_data = DobaOrdersAPI::prepOrdersForSubmission($objDobaOrders); $success_ids = $failure_ids = array(); foreach ($o_data as $id => $data) { if ($api->compileRequestXml($action, $data) && $api->sendRequest()) { $cor = DobaOrdersAPI::parseCreateOrderResponse($api->getResponseXml()); if ($cor === 'success') { $success_ids[] = $id; } else { $failure_ids[] = $id; } } else { if ($api->hasErrors()) { $failure_ids[] = $id; } else { $failure_ids[] = $id; } } } if (count($success_ids) > 0) { DobaLog::logOrderApiSend($objDobaOrders, 'submitted order(s): ' . implode(', ', $success_ids), null, $success_ids);
/** * * @return DobaOrders object * @param $data XML string */ function parseGetOrderDetailResponse($data) { $orderList = new DobaOrders(); $p = new XMLParser($data); $orderDetails = $p->getOutput(); if ($orderDetails['dce']['response']['outcome'] == 'Success') { $tempDobaOrderArray = new DobaOrders(); if (array_key_exists('order', $orderDetails['dce']['response']['orders'])) { //only one order; $tempPO = $orderDetails['dce']['response']['orders']['order']['order_id']; $tmpName = DobaOrdersAPI::name_to_parts($orderD['dce']['response']['orders']['order']['ship_name']); if (array_key_exists('supplier_order', $orderDetails['dce']['response']['orders']['order']['supplier_orders'])) { //Only 1 supplier_order; $ord = $orderDetails['dce']['response']['orders']['order']['supplier_orders']['supplier_order']; $tempDobaOrderArray = DobaOrdersAPI::findItems($ord); foreach ($tempDobaOrderArray as $currOrder) { $currOrder->po_number($ord['order_id']); $currOrder->max_expected_total($ord['order_total']); $currOrder->first_name($tmpName['FirstName']); $currOrder->last_name($tmpName['LastName']); $currOrder->street($ord['ship_street']); $currOrder->city($ord['ship_city']); $currOrder->postal($ord['ship_postal']); $currOrder->country($ord['ship_country']); $orderList->addOrder($currOrder); } } else { //What does multiple supplier_order mean??? } return $orderList; } else { foreach ($orderDetails['dce']['response']['orders'] as $ord) { $tempPO = $orderDetails['dce']['response']['orders']['order']['order_id']; $tmpName = DobaOrdersAPI::name_to_parts($orderD['dce']['response']['orders']['order']['ship_name']); if (array_key_exists('supplier_order', $orderDetails['dce']['response']['orders']['order']['supplier_orders'])) { //Only 1 supplier_order; $ord = $orderDetails['dce']['response']['orders']['order']['supplier_orders']['supplier_order']; $tempDobaOrderArray = DobaOrdersAPI::findItems($ord); foreach ($tempDobaOrderArray as $currOrder) { $currOrder->po_number($ord['order_id']); $currOrder->max_expected_total($ord['order_total']); $currOrder->first_name($tmpName['FirstName']); $currOrder->last_name($tmpName['LastName']); $currOrder->street($ord['ship_street']); $currOrder->city($ord['ship_city']); $currOrder->postal($ord['ship_postal']); $currOrder->country($ord['ship_country']); $orderList->addOrder($currOrder); } } else { //What does multiple supplier_order mean??? } } return $orderList; } } else { return $orderDetails['dce']['response']['outcome']; } }