url = "https://mobile.pramita.co.id/one-api/tools/regonline/r_download/"; } public function index() { $this->check(); } function check($date = "") { if ($date == "") { $date = date("Y-m-d"); } $sql = "select T_OrderHeaderLabNumber, T_OrderHeaderLabNumberExt, T_OrderHeaderID, T_OnlineTxNumbering, T_OnlineTxBookingName from t_onlineorder join t_onlinetx on T_OnlineOrderT_OnlineTxID = T_OnlineTxID and T_OnlineOrderIsActive = 'Y' and T_OnlineTxIsActive = 'Y' and T_OnlineOrderUploaded is not null join t_orderheader on T_OnlineOrderT_OrderHeaderID = T_OrderHeaderID and date(T_OrderHeaderDate) = ? "; $qry = $this->db->query($sql, [$date]); if (!$qry) { echo json_encode([ "status" => "ERR", "message" => print_r($this->db->error(), true), ]); exit(); } $rows = $qry->result_array(); if (count($rows) == 0) { echo $this->db->last_query(); echo "No record"; exit(); } foreach ($rows as $idx => $r) { $orderID = $r["T_OrderHeaderID"]; unset($rows[$idx]["T_OrderHeaderID"]); $url = "Show Report "; $rows[$idx]["Action"] = $url; } $this->print_table_style(); $this->print_table($rows, array_keys($rows[0])); } function show_error() { ini_set("display_errors", 1); ini_set("display_startup_errors", 1); error_reporting(E_ALL); } function detail($orderID) { $resp = $this->get_report($orderID); $this->print_table_style(); foreach ($resp as $idx => $r) { $url = $r["url"]; $action = substr($url, 0, 30) . "
"; $action .= "View
"; $action .= "Post Ulang"; $resp[$idx]["url"] = $action; } $this->print_table($resp, array_keys($resp[0]), "Report Lists"); } function re_post($orderID) { $resp = $this->get_report($orderID); $arr_reports = []; foreach ($resp as $idx => $r) { $rpt_url = "http://localhost/" . $r["url"]; $arr_reports[] = [ "name" => $r["Type"], "branchCode" => $r["branchCode"], "fname" => $r["fname"], "content" => base64_encode(file_get_contents($rpt_url)), ]; } $url = $this->url . "status"; $status = []; $status[] = ["reports" => $arr_reports]; $param = ["status" => $status]; $z_param = gzdeflate(json_encode($param), 9); $resp = $this->post($url, $z_param); $this->print_table_style(); print_r($resp); if ($resp["status"] == "OK") { $arr = []; $arr[] = ["message" => $resp["message"]]; $this->print_table($arr, array_keys($arr[0]), " Upload OK"); $reports = $status["report"]; $this->print_table( $reports, array_keys($reports[0]), "Report file" ); } else { $arr = []; $arr[] = ["message" => $resp["message"]]; $this->print_table($arr, array_keys($arr[0]), " Upload Error"); } } function get_report($orderID) { $sql = " SELECT T_OrderHeaderID as order_id, T_OrderHeaderLabNumberExt as order_noreg_ext, T_OrderHeaderLabNumber as order_noreg, CASE WHEN Group_ResultID = 1 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 2 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_papsmear_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 3 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_fna_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 4 THEN 'laporan_Rontgen' WHEN Group_ResultID = 5 THEN 'laporan_BMD' WHEN Group_ResultID = 6 THEN 'laporan_USG' WHEN Group_ResultID = 7 THEN 'laporan_Elektromedik' WHEN Group_ResultID = 8 THEN 'laporan_Pemeriksaan Fisik' WHEN Group_ResultID = 9 THEN 'laporan_Tensi' WHEN Group_ResultID = 10 THEN 'laporan_Tensi' WHEN Group_ResultID = 11 THEN 'laporan_Manthoux Test' WHEN Group_ResultID = 12 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_lcprep_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 13 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_mikro_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 14 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_cytologi_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) END as url_rpt, Group_ResultID, if(Group_ResultFlagPerTest = 'Y',T_TestName,Group_ResultName) as type_result, DATE_FORMAT(T_OrderHeaderDate,'%d-%m-%Y') as order_date, '' as details, 'X' So_ResultEntrySo_TemplateOther FROM t_orderheader JOIN result_processtooffice ON Result_ProcessToOfficeT_OrderHeaderID = T_OrderHeaderID AND T_OrderHeaderID = $orderID AND Result_ProcessToOfficeStatus = 'S' JOIN t_orderdelivery ON Result_ProcessToOfficeT_OrderDeliveryID = T_OrderDeliveryID AND T_OrderDeliveryIsActive = 'Y' JOIN t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y' JOIN t_test ON T_OrderDetailT_TestID = T_TestID JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID JOIN group_result ON Result_ProcessToOfficeGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab = 'N' GROUP BY Result_ProcessToOfficeID UNION SELECT T_OrderHeaderID as order_id, T_OrderHeaderLabNumberExt as order_noreg_ext, T_OrderHeaderLabNumber as order_noreg, CASE WHEN Group_ResultID = 1 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_email_eng.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 2 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_papsmear_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 3 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_fna_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 4 THEN 'laporan_Rontgen' WHEN Group_ResultID = 5 THEN 'laporan_BMD' WHEN Group_ResultID = 6 THEN 'laporan_USG' WHEN Group_ResultID = 7 THEN 'laporan_Elektromedik' WHEN Group_ResultID = 8 THEN 'laporan_Pemeriksaan Fisik' WHEN Group_ResultID = 9 THEN 'laporan_Tensi' WHEN Group_ResultID = 10 THEN 'laporan_Tensi' WHEN Group_ResultID = 11 THEN 'laporan_Manthoux Test' WHEN Group_ResultID = 12 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_lcprep_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 13 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_mikro_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 14 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_cytologi_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) END as url_rpt, Group_ResultID, CONCAT(if(Group_ResultFlagPerTest = 'Y',T_TestName,Group_ResultName),'_',M_LangCode) as type_result, DATE_FORMAT(T_OrderHeaderDate,'%d-%m-%Y') as order_date, '' as details, 'X' So_ResultEntrySo_TemplateOther FROM t_orderheader JOIN t_orderheaderaddon ON T_OrderHeaderID = $orderID and T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID JOIN m_lang ON T_OrderHeaderAddOnSecondM_LangID = M_LangID JOIN result_processtooffice ON Result_ProcessToOfficeT_OrderHeaderID = T_OrderHeaderID AND Result_ProcessToOfficeStatus = 'S' JOIN t_orderdelivery ON Result_ProcessToOfficeT_OrderDeliveryID = T_OrderDeliveryID AND T_OrderDeliveryIsActive = 'Y' JOIN t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y' JOIN t_test ON T_OrderDetailT_TestID = T_TestID JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID JOIN group_result ON Result_ProcessToOfficeGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab = 'N' AND Group_ResultID = 1 GROUP BY Result_ProcessToOfficeID UNION SELECT T_OrderHeaderID as order_id, T_OrderHeaderLabNumberExt as order_noreg_ext, T_OrderHeaderLabNumber as order_noreg, CASE WHEN Group_ResultID = 1 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 2 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_papsmear_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 3 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_fna_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 4 THEN T_EmailNonLabUrl WHEN Group_ResultID = 5 THEN T_EmailNonLabUrl WHEN Group_ResultID = 6 THEN T_EmailNonLabUrl WHEN Group_ResultID = 7 THEN T_EmailNonLabUrl WHEN Group_ResultID = 8 THEN T_EmailNonLabUrl WHEN Group_ResultID = 9 THEN T_EmailNonLabUrl WHEN Group_ResultID = 10 THEN T_EmailNonLabUrl WHEN Group_ResultID = 11 THEN T_EmailNonLabUrl WHEN Group_ResultID = 12 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_lcprep_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 13 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_mikro_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 14 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_cytologi_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) END as url_rpt, Group_ResultID, if(Group_ResultFlagPerTest = 'Y',T_TestName,Group_ResultName) as type_result, DATE_FORMAT(T_OrderHeaderDate,'%d-%m-%Y') as order_date, '' as details, 'X' So_ResultEntrySo_TemplateOther FROM t_orderheader JOIN result_processtooffice ON T_OrderHeaderID = $orderID and Result_ProcessToOfficeT_OrderHeaderID = T_OrderHeaderID AND Result_ProcessToOfficeStatus = 'S' JOIN t_orderdelivery ON Result_ProcessToOfficeT_OrderDeliveryID = T_OrderDeliveryID AND T_OrderDeliveryIsActive = 'Y' JOIN t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y' JOIN t_test ON T_OrderDetailT_TestID = T_TestID JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID JOIN group_result ON Group_ResultDetailGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab = 'Y' AND Group_ResultFlagPerTest = 'N' JOIN t_email_nonlab ON T_EmailNonLabT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND T_EmailNonLabResultEntryID = 0 AND T_EmailNonLabType = Group_ResultName JOIN m_emailconfig ON M_EmailConfigIsActive = 'Y' GROUP BY T_EmailNonLabID UNION SELECT T_OrderHeaderID as order_id, T_OrderHeaderLabNumberExt as order_noreg_ext, T_OrderHeaderLabNumber as order_noreg, CASE WHEN Group_ResultID = 1 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 2 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_papsmear_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 3 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_fna_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 12 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_lcprep_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 13 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_test_mikro_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) WHEN Group_ResultID = 14 THEN CONCAT('/birt/frameset?__report=report/one/lab/rpt_hasil_cytologi_email.rptdesign&__format=pdf&username=','admin','&PID=',T_OrderHeaderID,'&ts=',UNIX_TIMESTAMP()) ELSE T_EmailNonLabUrl END as url_rpt, Group_ResultID, if(Group_ResultFlagPerTest = 'Y',T_TestName,Group_ResultName) as type_result, DATE_FORMAT(T_OrderHeaderDate,'%d-%m-%Y') as order_date, '' as details, So_ResultEntrySo_TemplateOther FROM t_orderheader JOIN result_processtooffice ON T_OrderHeaderID = $orderID AND Result_ProcessToOfficeT_OrderHeaderID = T_OrderHeaderID AND Result_ProcessToOfficeStatus = 'S' JOIN t_orderdelivery ON Result_ProcessToOfficeT_OrderDeliveryID = T_OrderDeliveryID AND T_OrderDeliveryIsActive = 'Y' JOIN t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y' JOIN t_test ON T_OrderDetailT_TestID = T_TestID JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_TestID JOIN group_result ON Group_ResultDetailGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab = 'Y' AND Group_ResultFlagPerTest = 'Y' JOIN so_resultentry ON So_ResultEntryT_OrderDetailID = T_OrderDetailID AND So_ResultEntryIsActive = 'Y' JOIN t_email_nonlab ON T_EmailNonLabT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND T_EmailNonLabResultEntryID = So_ResultEntryID AND T_EmailNonLabResultEntryID <> 0 GROUP BY T_EmailNonLabID"; $query = $this->db->query($sql); if (!$query) { echo "
";
            echo "Err : " . $this->db->error()["message"] . "\n";
            echo $this->db->last_query();
            echo "
"; exit(); } $rows = $query->result_array(); $arr_grouping = []; if ($rows) { $exist_lab = "N"; foreach ($rows as $kx => $vx) { if ($vx["type_result"] == "LAB") { $exist_lab = "Y"; } } foreach ($rows as $k => $v) { if ( $v["So_ResultEntrySo_TemplateOther"] == "UMUM" || $v["So_ResultEntrySo_TemplateOther"] == "UMUM_KONSUL" ) { $x_url = $rows[$k]["url_rpt"]; $ex_url = explode("|^|", $x_url); //print_r($ex_url); $rows[$k]["type_result"] = "Riwayat"; $rows[$k]["url_rpt"] = $ex_url[0]; $new_group = $rows[$k]; $new_group["type_result"] = "Fisik"; $new_group["url_rpt"] = isset($ex_url[1]) ? $ex_url[1] : $ex_url[0]; array_push($rows, $new_group); } if ( $v["Group_ResultID"] == "13" || $v["Group_ResultID"] == 13 ) { $sql = "SELECT T_OrderDetailResult as result FROM t_orderdetail JOIN t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsResult = 'Y' JOIN group_resultdetail ON Group_ResultDetailT_TestID = T_OrderDetailT_TestID AND Group_ResultDetailIsActive = 'Y' JOIN group_result ON Group_ResultDetailGroup_ResultID = Group_ResultID AND Group_ResultFlagNonLab = 'N' AND Group_ResultName = 'Mikro' WHERE T_OrderDetailT_OrderHeaderID = {$v["order_id"]} AND T_OrderDetailIsActive = 'Y' LIMIT 1"; $xresult = $this->db_onedev->query($sql)->row()->result; if ($xresult != "Terlampir") { $rows[$k]["url_rpt"] = "/birt/frameset?__report=report/one/lab/rpt_test_email.rptdesign&__format=pdf&username=" . $v["staff_name"] . "&PID=" . $v["order_id"] . "&ts=" . strtotime("now"); } if ($xresult == "Terlampir" && $exist_lab == "N") { $rows[$k]["type_result"] = "Lampiran Mikro"; $new_group = $rows[$k]; $new_group["type_result"] = "Mikro"; $new_group["url_rpt"] = "/birt/frameset?__report=report/one/lab/rpt_test_email.rptdesign&__format=pdf&username=" . $v["staff_name"] . "&PID=" . $v["order_id"] . "&ts=" . strtotime("now"); array_push($rows, $new_group); } } } foreach ($rows as $ki => $vi) { $idx = $this->getgroup_idx($arr_grouping, $vi["order_id"]); if ($idx == -1) { $xnew = $vi; $xnew["details"] = [ [ "type_result" => $vi["type_result"], "url" => $vi["url_rpt"], ], ]; array_push($arr_grouping, $xnew); } else { $e_old = $arr_grouping[$idx]["details"]; array_push($e_old, [ "type_result" => $vi["type_result"], "url" => $vi["url_rpt"], ]); $arr_grouping[$idx]["details"] = $e_old; } } } $result = []; /* $fname = $r["T_OnlineTxOrgID"] . "_" . $r["T_OnlineOrderT_OrderID"] . "_" . $xr["Group_ResultName"] . "_" . $r["T_OrderHeaderLabNumberExt"] . ".pdf"; $arr_reports[] = [ "name" => $xr["Group_ResultName"], "branchCode" => $branchCode, "fname" => $fname, "content" => base64_encode(file_get_contents($rpt_url)), ]; */ $sql = "select T_OnlineTxOrgID, T_OnlineOrderT_OrderID, T_OrderHeaderLabNumberExt from t_orderheader join t_onlineorder on T_OrderHeaderID = ? and T_OnlineOrderT_OrderHeaderID = T_OrderHeaderID join t_onlinetx on T_OnlineOrderT_OnlineTxID = T_OnlineTxID"; $qry = $this->db->query($sql, [$orderID]); if (!$qry) { echo "ERR Get Online Tx : " . $this->db->error()["message"] . "\n" . $this->db->last_query(); exit(); } $rows = $qry->result_array(); if (count($rows) == 0) { echo "Err No Online Tx"; exit(); } $r = $rows[0]; $T_OnlineTxOrgID = $r["T_OnlineTxOrgID"]; $T_OnlineOrderT_OrderID = $r["T_OnlineOrderT_OrderID"]; $T_OrderHeaderLabNumberExt = $r["T_OrderHeaderLabNumberExt"]; $sql = "select M_BranchCode from m_branch where M_BranchIsDefault = 'Y'"; $qry = $this->db->query($sql); if (!$qry) { echo "ERR Get Branch Code : " . $this->db->error()["message"] . "\n" . $this->db->last_query(); exit(); } $rows = $qry->result_array(); if (count($rows) == 0) { echo "Err No Default Branch"; exit(); } $branchCode = $rows[0]["M_BranchCode"]; foreach ($arr_grouping as $r) { $arr = []; $arr["Noreg"] = $r["order_noreg"]; $arr["T_OrderHeaderID"] = $r["order_id"]; if (isset($r["details"]) && count($r["details"]) > 0) { foreach ($r["details"] as $rd) { $fname = $T_OnlineTxOrgID . "_" . $T_OnlineOrderT_OrderID . "_" . $rd["type_result"] . "_" . $T_OrderHeaderLabNumberExt . ".pdf"; $arr["Type"] = $rd["type_result"]; $arr["url"] = $rd["url"]; $arr["branchCode"] = $branchCode; $arr["fname"] = $fname; $result[] = $arr; } } else { $fname = $T_OnlineTxOrgID . "_" . $T_OnlineOrderT_OrderID . "_" . $r["type_result"] . "_" . $T_OrderHeaderLabNumberExt . ".pdf"; $arr["Type"] = $r["type_result"]; $arr["url"] = $r["url_rpt"]; $arr["branchCode"] = $branchCode; $arr["fname"] = $fname; $result[] = $arr; } } return $result; } function getgroup_idx($groups, $orderid) { $idx = -1; foreach ($groups as $k => $v) { if ($v["order_id"] == $orderid) { $idx = $k; } } return $idx; } public function print_table_style() { echo " "; } public function print_table($rows, $keys, $title = false) { echo ""; if ($title) { $col_span = count($keys); echo ""; echo ""; echo ""; } echo ""; foreach ($keys as $k) { echo ""; } echo "\n"; foreach ($rows as $r) { echo ""; foreach ($keys as $k) { echo ""; } echo ""; } echo "
$title
$k
" . $r[$k] . "
"; } public function post($url, $data) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_TIMEOUT, 120); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Content-Type: application/json", "Content-Length: " . strlen($data), ]); $z_result = curl_exec($ch); if (curl_errno($ch) > 0) { return [ "status" => "ERR", "message" => curl_error($ch), ]; } $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); if ($httpCode != 200) { return [ "status" => "ERR", "message" => "Http Response : $httpCode | $z_result", ]; } $result = gzinflate($z_result); $j_result = json_decode($result, true); if (!$j_result) { return [ "status" => "ERR", "message" => "JSON invalid: $z_result", ]; } return $j_result; } }