public function printLabels($orders_id_arr, $format = 'A7 on A4', $offset = '0') { $db = JFactory::getDBO(); $gw = new SoapClient("http://www.zasilkovna.cz/api/soap-php-bugfix.wsdl"); $zas_model = VmModel::getModel('zasilkovna'); $apiPassword = $zas_model->api_pass; $format = str_replace('_', ' ', $format); $errors = array(); if (sizeof($orders_id_arr) == 0) { $errors[] = JText::_('PLG_VMSHIPMENT_ZASILKOVNA_NO_PACKET_TO_PRINT'); return $errors; } try { $packet = $gw->packetsLabelsPdf($apiPassword, $orders_id_arr, $format, $offset); header('Content-type: application/pdf'); header('Content-Disposition: attachment; filename="labels-' . date("Ymd-His") . '.pdf"'); echo $packet; $this->setPrintLabelFlag($orders_id_arr); } catch (SoapFault $e) { $errors[] = $e->faultstring . " "; if (is_array($e->detail->PacketIdsFault->ids->packetId)) { $wrongPacketIds = ""; foreach ($e->detail->PacketIdsFault->ids->packetId as $wrongPacketId) { $wrongPacketIds .= $wrongPacketId . " "; } $errors[] = $wrongPacketIds; } else { if (is_object($e->detail->PacketIdsFault)) { //only one error $errors[] = $e->detail->PacketIdsFault->ids->packetId; } } return $errors; } exit; }