/** * Extract the data as an array from the Order. * * @param Order $order * The Order to extract the data from. * * @return array * The extracted data in the same structure as the XML will be. */ protected function extractData(Order $order) { $data = array('ClientId' => $order->getClientId(), 'OrderName' => $order->getOrderName(), 'TemplateId' => $order->getTemplateId(), 'RequestDate' => $order->getRequestDate()->format('Y-m-d\\TH:i:s'), 'RequestedDueDate' => $order->getDueDate()->format('Y-m-d'), 'IssuedBy' => $order->getIssuedBy(), 'ConfidentialOrder' => (int) $order->isConfidential(), 'SourceLanguageIsoCode' => $order->getSourceLanguage(), 'TargetLanguages' => $this->extractTargetLanguagesData($order), 'Service' => $order->getService(), 'ClientInstructions' => $this->extractInstructionsData($order), 'ClientReference' => $order->getReference(), 'ConfirmationRequested' => (int) $order->needsConfirmation(), 'QuotationRequested' => (int) $order->needsQuotation(), 'InputFiles' => $this->extractInputFilesData($order)); return $data; }