/** * * @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']; } }