for ($a = 1; $a < $apix_laskumaara; $a++) { preg_match("/\\<InvoiceNumber\\>(.*?)\\<\\/InvoiceNumber\\>/i", $apix_laskuarray[$a], $invoice_number); $apix_finvoice = "<?xml version=\"1.0\"" . $apix_laskuarray[$a]; // Laitetaan lasku lähetysjonoon $tulos_ulos .= apix_queue($apix_finvoice, $invoice_number[1], $kieli); } } } elseif ($yhtiorow["verkkolasku_lah"] == "maventa" and file_exists(realpath($nimifinvoice))) { // Splitataan file ja lähetetään YKSI lasku kerrallaan $maventa_laskuarray = explode("<SOAP-ENV:Envelope", file_get_contents($nimifinvoice)); $maventa_laskumaara = count($maventa_laskuarray); if ($maventa_laskumaara > 0) { require_once "tilauskasittely/tulosta_lasku.inc"; for ($a = 1; $a < $maventa_laskumaara; $a++) { preg_match("/\\<InvoiceNumber\\>(.*?)\\<\\/InvoiceNumber\\>/i", $maventa_laskuarray[$a], $invoice_number); $status = maventa_invoice_put_file(NULL, NULL, $invoice_number[1], "<SOAP-ENV:Envelope" . $maventa_laskuarray[$a], $kieli); $tulos_ulos .= "Maventa-lasku {$invoice_number['1']}: {$status}<br>\n"; } } } elseif ($yhtiorow["verkkolasku_lah"] == "iPost" and file_exists(realpath($nimifinvoice))) { if ($silent == "" or $silent == "VIENTI") { $tulos_ulos .= "<br><br>\n" . t("FTP-siirto iPost Finvoice:") . "<br>\n"; } //siirretaan laskutiedosto operaattorille $ftphost = "ftp.itella.net"; $ftpuser = $yhtiorow['verkkotunnus_lah']; $ftppass = $yhtiorow['verkkosala_lah']; $ftppath = "out/finvoice/data/"; $ftpfile = realpath($nimifinvoice); $renameftpfile = str_replace("TRANSFER_IPOST", "DELIVERED_IPOST", basename($nimifinvoice)); $ftpfail = "{$pupe_root_polku}/dataout/ipost_error/";
$client = new SoapClient('https://secure.maventa.com/apis/bravo/wsdl/'); } catch (Exception $exVirhe) { echo "VIRHE: Yhteys Maventaan epäonnistui: " . $exVirhe->getMessage() . "\n"; continue; } $mavelask = 0; foreach ($laskut as $laskunro => $lasku) { // Jos lasku on liian vanha, ei käsitellä, lähetetään maililla if (onko_lasku_liian_vanha($kansio . $lasku)) { continue; } // Logitetaan ajo cron_log("{$pupe_root_polku}/dataout/{$lasku}"); // Haetaan tarvittavat tiedot filestä $files_out = unserialize(file_get_contents($kansio . $lasku)); $status = maventa_invoice_put_file($client, $api_keys, $laskunro, "", $kukarow['kieli'], $files_out); if (!empty($status)) { // Siirretään dataout kansioon jos Maventalta on saatu jokin vastaus rename($kansio . $lasku, "{$pupe_root_polku}/dataout/{$lasku}"); } else { $status = "YHTEYSVIRHE!"; } echo "Maventa-lasku {$laskunro}: {$status}<br>\n"; if ($status != 'OK: INVOICE CREATED SUCCESSFULLY') { // Rakennetaan sähköpostiin lähetettävä virheviesti $maventaerrorreport = t("Maventa-laskun %s lähetys epäonnistui", "", $laskunro) . "!\n\n"; $maventaerrorreport .= t("Lähetetyn tiedoston nimi") . ": {$lasku} \n\n"; // Laitetaan sähköposti admin osoitteeseen siinä tapauksessa, // jos talhal tai alert email osoitteita ei ole kumpaakaan setattu $error_email = $yhtiorow["admin_email"]; if (isset($yhtiorow["talhal_email"]) and $yhtiorow["talhal_email"] != "") {