$param)); curl_setopt($ch, CURLOPT_POSTFIELDS, $datipost); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); $ret = curl_exec($ch); if ($ret === FALSE) { mailtnx("mceccarelli@demo.tnx.it", "mod_invoicex2.inc.php problema curl", "url: $url\n curl_errno:" . curl_errno($ch) . "\n" . curl_error($ch) . "\n\n" . print_r($param, true) . "\n\n" . print_r($DB, true), "From: cecca@tnx.it\r\n"); return array("errore" => "chiamata a invoicex server non riuscita: " . curl_errno($ch) . " " . curl_error($ch)); } curl_close($ch); //mailtnx("mceccarelli@demo.tnx.it", "mod_invoicex2.inc.php debug", "url: $url\n" . print_r($param, true) . "\n\n" . print_r($DB, true) . "\n\n" . print_r($ret, true), "From: cecca@tnx.it\r\n"); $retd = json_decode($ret, true); if (is_array($retd) && $retd['esito'] == "ok") { return $retd['file']; } else { return array("errore" => $ret); } } function invoicexGetPdfBatch($id, $tipo = "") { //OLD $param = invoicexGetParamDef($tipo); //ritorna il percorso al pdf generato da invoicex $param['tipo_doc'] = "fattura_vendita"; if ($tipo != "") { $param['tipo_doc'] = $tipo; } $param['id'] = $id; $ret = invoicexExec("getPdf", $param); if (is_array($ret) && $ret['esito'] == "ok") { return $ret['file']; } else { return array("errore" => $ret); } } function invoicexGeneraScadenze($id, $tipo = "", $inBackground = false) { $param = invoicexGetParamDef($tipo); $url = invoicexGetBaseUrl() . "/util/generaScadenze/$id/$tipo"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); $datipost = http_build_query(array("param" => $param)); curl_setopt($ch, CURLOPT_POSTFIELDS, $datipost); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); if ($inBackground) { curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); curl_setopt($ch, CURLOPT_TIMEOUT_MS, 1); } $ret = curl_exec($ch); curl_close($ch); if ($inBackground) { return true; } else { if ($ret === FALSE) { mailtnx("mceccarelli@demo.tnx.it", "mod_invoicex2.inc.php problema curl", "url: $url\n curl_errno:" . curl_errno($ch) . "\n" . curl_error($ch) . "\n\n" . print_r($param, true) . "\n\n" . print_r($DB, true), "From: cecca@tnx.it\r\n"); return array("errore" => "chiamata a invoicex server non riuscita: " . curl_errno($ch) . " " . curl_error($ch)); } $ret_raw = $ret; $ret = json_decode($ret, true); if (is_array($ret) && $ret['esito'] == "ok") { return true; } else { return array("errore" => $ret_raw); } } } function invoicexGeneraProvvigioni($id_fattura, $tipo = "fattura_vendita", $inBackground = false) { $param = invoicexGetParamDef($tipo); $url = invoicexGetBaseUrl() . "/util/generaProvvigioni/$id_fattura"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); $datipost = http_build_query(array("param" => $param)); curl_setopt($ch, CURLOPT_POSTFIELDS, $datipost); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); if ($inBackground) { curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); curl_setopt($ch, CURLOPT_TIMEOUT_MS, 1); } $ret = curl_exec($ch); curl_close($ch); if ($inBackground) { return true; } else { if ($ret === FALSE) { //mail("mceccarelli@demo.tnx.it", "mod_invoicex2.inc.php problema curl", curl_errno($ch) . "\n" . curl_error($ch) . "\n\n" . print_r($param, true) . "\n\n" . print_r($DB, true) . "\n\nglobals:\n" . print_r($GLOBALS, true), "From: cecca@tnx.it\r\n"); mailtnx("mceccarelli@demo.tnx.it", "mod_invoicex2.inc.php problema curl", curl_errno($ch) . "\n" . curl_error($ch) . "\n\n" . print_r($param, true) . "\n\n" . print_r($DB, true), "From: cecca@tnx.it\r\n"); } $ret_raw = $ret; $ret = json_decode($ret, true); if (is_array($ret) && $ret['esito'] == "ok") { return true; } else { return array("errore" => $ret_raw); } } } function invoicexGeneraProvvigioniBatch($id) { $param = invoicexGetParamDef(); $param["id_fattura"] = $id; $ret = invoicexExec("generaProvvigioni", $param); return $ret; } function invoicexConvertiDoc($da_tipo, $da_id, $a_tipo) { $param = invoicexGetParamDef($tipo); $url = invoicexGetBaseUrl() . "/util/converti/$da_tipo/$da_id/$a_tipo"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); $datipost = http_build_query(array("param" => $param)); curl_setopt($ch, CURLOPT_POSTFIELDS, $datipost); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); $ret = curl_exec($ch); if ($ret === FALSE) { //mail("mceccarelli@demo.tnx.it", "mod_invoicex2.inc.php problema curl", "url: $url\n curl_errno:" . curl_errno($ch) . "\n" . curl_error($ch) . "\n\n" . print_r($param, true) . "\n\n" . print_r($DB, true) . "\n\nglobals:\n" . print_r($GLOBALS, true), "From: cecca@tnx.it\r\n"); mailtnx("mceccarelli@demo.tnx.it", "mod_invoicex2.inc.php problema curl", "url: $url\n curl_errno:" . curl_errno($ch) . "\n" . curl_error($ch) . "\n\n" . print_r($param, true) . "\n\n" . print_r($DB, true), "From: cecca@tnx.it\r\n"); return array("errore" => "chiamata a invoicex server non riuscita: " . curl_errno($ch) . " " . curl_error($ch)); } curl_close($ch); $ret_raw = $ret; $ret = json_decode($ret, true); if (is_array($ret) && $ret['esito'] == "ok") { return $ret['id']; } else { return array("errore" => $ret_raw); } } function invoicexCalcolaTotali($id, $tipo = "", $inBackground = false) { global $DB; $param = invoicexGetParamDef($tipo); if ($inBackground) { mail("mceccarelli@demo.tnx.it", "param mod invois invoicexCalcolaTotali $tipo $id $DB[database] $_REQUEST[url]", print_r($param, true) . "\n\n" . print_r($DB, true) . "\n\nrequest:\n" . print_r($_REQUEST, true), "From: cecca@tnx.it\r\n"); } $param['tipo_doc'] = $tipo; $param['id'] = $id; $url = invoicexGetBaseUrl() . "/util/calcolaTotali/$tipo/$id"; $ch = curl_init(); $datipost = http_build_query(array("param" => $param)); myCurlInit($ch, $url, $datipost); if ($inBackground) { curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); curl_setopt($ch, CURLOPT_TIMEOUT_MS, 1); } $ret = curl_exec($ch); curl_close($ch); if ($inBackground) { return true; } else { if ($ret === FALSE) { mailtnx("mceccarelli@demo.tnx.it", "mod_invoicex2.inc.php problema curl", "url: $url\n curl_errno:" . curl_errno($ch) . "\n" . curl_error($ch) . "\n\n" . print_r($param, true) . "\n\n" . print_r($DB, true), "From: cecca@tnx.it\r\n"); return array("errore" => "chiamata a invoicex server non riuscita: " . curl_errno($ch) . " " . curl_error($ch)); } $rawRet = $ret; $ret = json_decode($ret, true); if (is_array($ret) && $ret['esito'] == "ok") { return true; } else { mail("mceccarelli@demo.tnx.it", "mod_invoicex2.inc.php problema", print_r($param, true) . "\n\n" . print_r($DB, true) . "\n\nret\n" . print_r($ret, true) . "\n\nrawRet\n" . print_r($rawRet, true), "From: cecca@tnx.it\r\n"); return array("errore" => ($ret === NULL ? $rawRet : $ret)); } } } function invoicexGeneraMovimenti($id, $tipo = "", $inBackground = false) { global $DB; $param = invoicexGetParamDef($tipo); //mail("mceccarelli@demo.tnx.it", "param mod invois", print_r($param, true) . "\n\n" . print_r($DB, true) . "\n\nglobals:\n" . print_r($GLOBALS, true), "From: cecca@tnx.it\r\n"); $param['tipo_doc'] = $tipo; $param['id'] = $id; $url = invoicexGetBaseUrl() . "/util/generaMovimenti/$tipo/$id"; $ch = curl_init(); $datipost = http_build_query(array("param" => $param)); myCurlInit($ch, $url, $datipost); if ($inBackground) { curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); curl_setopt($ch, CURLOPT_TIMEOUT_MS, 1); } $ret = curl_exec($ch); curl_close($ch); if ($inBackground) { return true; } else { if ($ret === FALSE) { mailtnx("mceccarelli@demo.tnx.it", "mod_invoicex2.inc.php problema curl", "url: $url\n curl_errno:" . curl_errno($ch) . "\n" . curl_error($ch) . "\n\n" . print_r($param, true) . "\n\n" . print_r($DB, true), "From: cecca@tnx.it\r\n"); return array("errore" => "chiamata a invoicex server non riuscita: " . curl_errno($ch) . " " . curl_error($ch)); } $rawRet = $ret; $ret = json_decode($ret, true); if (is_array($ret) && $ret['esito'] == "ok") { return true; } else { mail("mceccarelli@demo.tnx.it", "mod_invoicex2.inc.php problema", print_r($param, true) . "\n\n" . print_r($DB, true) . "\n\nret\n" . print_r($ret, true) . "\n\nrawRet\n" . print_r($rawRet, true), "From: cecca@tnx.it\r\n"); return array("errore" => ($ret === NULL ? $rawRet : $ret)); } } } function myCurlInit($ch, $url, $datipost) { curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $datipost); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); } function invoicexCalcolaTotaliBatch($id, $tipo = "") { //OLD $param = invoicexGetParamDef($tipo); $param['tipo_doc'] = $tipo; $param['id'] = $id; $ret = invoicexExec("calcolaTotali", $param); if (is_array($ret) && $ret['esito'] == "ok") { return true; } else { return array("errore" => $ret); } } function invoicexInviaSollecitoScadenza($id_scadenza, $indirizzo_cc = null, $indirizzo_ccn = null) { $param = invoicexGetParamDef($tipo); $url = invoicexGetBaseUrl() . "/util/inviaSollecitoScadenza/$id_scadenza/$indirizzo_cc/$indirizzo_ccn"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); $datipost = http_build_query(array("param" => $param)); curl_setopt($ch, CURLOPT_POSTFIELDS, $datipost); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); $ret = curl_exec($ch); if ($ret === FALSE) { //mail("mceccarelli@demo.tnx.it", "mod_invoicex2.inc.php problema curl", "url: $url\n curl_errno:" . curl_errno($ch) . "\n" . curl_error($ch) . "\n\n" . print_r($param, true) . "\n\n" . print_r($DB, true) . "\n\nglobals:\n" . print_r($GLOBALS, true), "From: cecca@tnx.it\r\n"); mailtnx("mceccarelli@demo.tnx.it", "mod_invoicex2.inc.php problema curl", "url: $url\n curl_errno:" . curl_errno($ch) . "\n" . curl_error($ch) . "\n\n" . print_r($param, true) . "\n\n" . print_r($DB, true), "From: cecca@tnx.it\r\n"); return array("errore" => "chiamata a invoicex server non riuscita: " . curl_errno($ch) . " " . curl_error($ch)); } curl_close($ch); $ret_raw = $ret; $ret = json_decode($ret, true); if (is_array($ret) && $ret['esito'] == "ok") { return true; } else { return array("errore" => $ret_raw); } } function invoicexExec($funzione, $param) { global $pathInvoicex; $debug = false; if ($_GET["invoicex_debug"] == "1") { $debug = true; } mt_srand(microtime(true)); $nomefilejson = "param-" . mt_rand(10000000,99999999) . ".json"; $fp = fopen("$pathInvoicex/$nomefilejson", 'w'); fwrite($fp, json_encode($param)); fclose($fp); $cmd = "cd $pathInvoicex; java -Djava.awt.headless=true -jar Invoicex.jar -b $funzione $nomefilejson 2>&1"; $lastline = exec($cmd, $output , $return_var); if ($debug) { echo "lastline:$lastline

"; echo "
";
 		echo "output:\n" . print_r($output, true);
 		echo "
"; echo "return_var:$return_var

"; } $GLOBALS["invoicex_output"] = $output; //eliminare il file di parametri //if (!$debug) unlink("$pathInvoicex/$nomefilejson"); //elimino i file più vecchi di ... $tempo = 2*24*60*60; // 2 giorni $tempo = 10*60; // 10 minuti $files = glob("$pathInvoicex/param*.json"); foreach($files as $file) { if(is_file($file) && time() - filemtime($file) >= $tempo) unlink($file); } $retj = json_decode($lastline, true); return $retj; } ?>