db->query($sql, $param); } else { $qry = $this->db->query($sql); } if (!$qry) { return ["status" => -1]; } $rows = $qry->result_array(); if (count($rows) == 0) { return ["status" => 0]; } return ["status" => 1, "data" => $rows[0]]; } public function get_rows($sql, $param = false) { if ($param) { $qry = $this->db->query($sql, $param); } else { $qry = $this->db->query($sql); } if (!$qry) { return ["status" => -1]; } $rows = $qry->result_array(); if (count($rows) == 0) { return ["status" => 0]; } return ["status" => 1, "data" => $rows]; } public function v1($orderHeaderID, $date = "") { $sql = "call sp_rpt_t_hasil2(?,'admin')"; $rs = $this->get_rows($sql, [$orderHeaderID]); $this->clean_mysqli_connection($this->db->conn_id); if ($rs["status"] == -1) { echo "Error : sp_rpt | " . $this->db->error()["message"]; exit(); } if ($rs["status"] == 0) { echo "Error : No Order found."; exit(); } $rows = $rs["data"]; $r = $rows[0]; $msg = <<", "", $r["T_OrderDetailResult"]) . "\n"; } $img_qrcode = $this->post("http://localhost/charts/qrtext.php", $msg); header("Content-type: image/png"); echo $img_qrcode; exit(); } 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, 10); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Content-Type: application/text", "Content-Length: " . strlen($data), ]); $result = curl_exec($ch); if (curl_error($ch) != "") { return "ERROR Accessing QrCode : " . curl_error($ch) . "\n"; } curl_close($ch); return $result; } public function post_gz($url, $data) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); $zdata = gzdeflate($data, 9); curl_setopt($ch, CURLOPT_POSTFIELDS, $zdata); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Content-Type: application/octet", "Content-Length: " . strlen($zdata), ]); $result = curl_exec($ch); if (curl_error($ch) != "") { return "ERROR Accessing QrCode : " . curl_error($ch) . "\n"; } curl_close($ch); return $result; } public function post_debug($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, 10); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Content-Type: application/text", "Content-Length: " . strlen($data), ]); $result = curl_exec($ch); if (curl_error($ch) != "") { return "ERROR Accessing QrCode : " . curl_error($ch) . "\n"; } curl_close($ch); return $result; } public function v2($orderHeaderID, $date = "") { $this->load->library("Jwt"); $sql = "call sp_rpt_t_hasil2(?,'admin')"; $rs = $this->get_rows($sql, [$orderHeaderID]); $this->clean_mysqli_connection($this->db->conn_id); if ($rs["status"] == -1) { echo "Error : sp_rpt | " . $this->db->error()["message"]; exit(); } if ($rs["status"] == 0) { echo "Error : No Order found."; exit(); } $rows = $rs["data"]; $secretToken = "--!!Super!!Suket#@!1231456"; $j_result = json_encode($rows); $jwtToken = JWT::encode($j_result, $secretToken); $rst = $this->post( "https://result.pramita.co.id/one-api/verify/shortener", $jwtToken ); $j_rst = json_decode($rst, true); if (json_last_error_msg() != "No error") { echo "Error Json Token : " . json_last_error_msg(); exit(); } $url = $j_rst["url"]; $img_qrcode = $this->post("http://localhost/charts/qrtext.php", $url); header("Content-type: image/png"); echo $img_qrcode; exit(); } public function v3_old($orderHeaderID, $date = "") { $this->load->library("Jwt"); $sql = "call sp_rpt_t_hasil2(?,'admin')"; $rs = $this->get_rows($sql, [$orderHeaderID]); $this->clean_mysqli_connection($this->db->conn_id); if ($rs["status"] == -1) { echo "Error : sp_rpt | " . $this->db->error()["message"]; exit(); } if ($rs["status"] == 0) { echo "Error : No Order found."; exit(); } $rows = $rs["data"]; $secretToken = "--!!Super!!Suket#@!1231456"; $j_result = json_encode($rows); $jwtToken = JWT::encode($j_result, $secretToken); $rst = $this->post( "https://result.pramita.co.id/one-api/verify/shortener_v2", $jwtToken ); $j_rst = json_decode($rst, true); if (json_last_error_msg() != "No error") { echo "Error Json Token : " . json_last_error_msg(); exit(); } $url = $j_rst["url"]; $img_qrcode = $this->post("http://localhost/charts/qrtext.php", $url); header("Content-type: image/png"); echo $img_qrcode; exit(); } public function v3_dual($orderHeaderID, $date = "") { $this->load->library("Jwt"); $sql = "call sp_rpt_t_hasil2(?,'admin')"; $rs = $this->get_rows($sql, [$orderHeaderID]); $this->clean_mysqli_connection($this->db->conn_id); if ($rs["status"] == -1) { echo "Error : sp_rpt | " . $this->db->error()["message"]; exit(); } if ($rs["status"] == 0) { echo "Error : No Order found."; exit(); } $rows = $rs["data"]; $sql = "select count(*) tot from t_orderheaderaddon where T_OrderHeaderAddOnIsActive = 'Y' and T_OrderHeaderAddOnSecondM_LangID = 2 and T_OrderHeaderAddOnT_OrderHeaderID = ?"; $qry = $this->db->query($sql, [$orderHeaderID]); if (!$qry) { echo "Error : " . $this->db->error()["message"]; exit(); } $xrows = $qry->result_array(); $flag_have_en = "N"; if ($xrows[0]["tot"] > 0) { $flag_have_en = "Y"; $sql = "call sp_rpt_t_hasil_eng(?,'admin')"; $rs = $this->get_rows($sql, [$orderHeaderID]); $this->clean_mysqli_connection($this->db->conn_id); if ($rs["status"] == -1) { echo "Error : sp_rpt | " . $this->db->error()["message"]; exit(); } $rows_en = $rs["data"]; $result_en = []; $test_en = []; foreach ($rows_en as $r) { list($dob_en, $age_en) = explode( "/", $r["T_OrderHeaderM_PatientAge"] ); $age_en = trim($age_en); $sex_en = $r["M_SexName"]; $name_en = $r["M_PatientName"]; $testID = $r["T_TestID"]; $result_en[$testID] = $r["T_OrderDetailResult"]; $test_en[$testID] = $r["T_TestNameAA"]; } } foreach ($rows as $idx => $r) { $rows[$idx]["HaveEnglish"] = $flag_have_en; $testID = $r["T_TestID"]; if ($flag_have_en == "Y") { $rows[$idx]["M_PatientName_en"] = $name_en; $rows[$idx]["Umur_en"] = $age_en . " / " . $sex_en; $rows[$idx]["T_OrderDetailResult_en"] = $result_en[$testID]; $rows[$idx]["T_TestNameAA_en"] = $test_en[$testID]; } else { $rows[$idx]["Umur_en"] = ""; $rows[$idx]["T_OrderDetailResult_en"] = ""; $rows[$idx]["T_TestNameAA_en"] = ""; $rows[$idx]["M_PatientName_en"] = ""; } } $secretToken = "--!!Super!!Suket#@!1231456"; $j_result = json_encode($rows); if (json_last_error_msg() != "No error") { echo "Error Json Token : " . json_last_error_msg(); exit(); } $jwtToken = JWT::encode($j_result, $secretToken); $rst = $this->post_gz( "https://result.pramita.co.id/one-api/verify/shortener_v2_gz", $jwtToken ); $j_rst = json_decode($rst, true); if (json_last_error_msg() != "No error") { echo "Error Json Token : " . json_last_error_msg(); exit(); } $url = $j_rst["url"]; $img_qrcode = $this->post("http://localhost/charts/qrtext.php", $url); header("Content-type: image/png"); echo $img_qrcode; exit(); } public function v3($orderHeaerID, $date = "") { $this->v3_dual($orderHeaerID,$date); } public function v3_en($orderHeaderID, $date = "") { $this->load->library("Jwt"); $sql = "call sp_rpt_t_hasil_eng(?,'admin')"; $rs = $this->get_rows($sql, [$orderHeaderID]); $this->clean_mysqli_connection($this->db->conn_id); if ($rs["status"] == -1) { echo "Error : sp_rpt | " . $this->db->error()["message"]; exit(); } if ($rs["status"] == 0) { echo "Error : No Order found."; exit(); } $rows = $rs["data"]; $secretToken = "--!!Super!!Suket#@!1231456"; $j_result = json_encode($rows); if (json_last_error_msg() != "No error") { echo "Error Json Token : " . json_last_error_msg(); exit(); } $jwtToken = JWT::encode($j_result, $secretToken); $rst = $this->post_gz( "https://result.pramita.co.id/one-api/verify/shortener_v2_gz", $jwtToken ); $j_rst = json_decode($rst, true); if (json_last_error_msg() != "No error") { echo "Error Json Token : " . json_last_error_msg(); exit(); } $url = $j_rst["url"]; $img_qrcode = $this->post("http://localhost/charts/qrtext.php", $url); header("Content-type: image/png"); echo $img_qrcode; exit(); } public function v3_show($orderHeaderID, $date = "") { $this->load->library("Jwt"); $sql = "call sp_rpt_t_hasil2(?,'admin')"; $rs = $this->get_rows($sql, [$orderHeaderID]); $this->clean_mysqli_connection($this->db->conn_id); print_r($rs); } public function v3_show_en($orderHeaderID, $date = "") { $this->load->library("Jwt"); $sql = "call sp_rpt_t_hasil_eng(?,'admin')"; $rs = $this->get_rows($sql, [$orderHeaderID]); $this->clean_mysqli_connection($this->db->conn_id); print_r($rs); } public function v3_before_dual($orderHeaderID, $date = "") { $this->load->library("Jwt"); $sql = "call sp_rpt_t_hasil2(?,'admin')"; $rs = $this->get_rows($sql, [$orderHeaderID]); $this->clean_mysqli_connection($this->db->conn_id); if ($rs["status"] == -1) { echo "Error : sp_rpt | " . $this->db->error()["message"]; exit(); } if ($rs["status"] == 0) { echo "Error : No Order found."; exit(); } $rows = $rs["data"]; $secretToken = "--!!Super!!Suket#@!1231456"; $j_result = json_encode($rows); if (json_last_error_msg() != "No error") { echo "Error Json Token : " . json_last_error_msg(); exit(); } $jwtToken = JWT::encode($j_result, $secretToken); $rst = $this->post_gz( "https://result.pramita.co.id/one-api/verify/shortener_v2_gz", $jwtToken ); $j_rst = json_decode($rst, true); if (json_last_error_msg() != "No error") { echo "Error Json Token : " . json_last_error_msg(); exit(); } $url = $j_rst["url"]; $img_qrcode = $this->post("http://localhost/charts/qrtext.php", $url); header("Content-type: image/png"); echo $img_qrcode; exit(); } public function v3b($orderHeaderID, $date = "") { $this->load->library("Jwt"); $sql = "call sp_rpt_t_hasil2(?,'admin')"; $rs = $this->get_rows($sql, [$orderHeaderID]); $this->clean_mysqli_connection($this->db->conn_id); if ($rs["status"] == -1) { echo "Error : sp_rpt | " . $this->db->error()["message"]; exit(); } if ($rs["status"] == 0) { echo "Error : No Order found."; exit(); } $rows = $rs["data"]; $secretToken = "--!!Super!!Suket#@!1231456"; $j_result = json_encode($rows); $jwtToken = JWT::encode($j_result, $secretToken); if (json_last_error_msg() != "No error") { echo "Error Encode Json Token : " . json_last_error_msg(); exit(); } echo strlen($jwtToken) . "\n"; $rst = $this->post( "https://result.pramita.co.id/one-api/verify/shortener_v2", $jwtToken ); echo $rst; $j_rst = json_decode($rst, true); if (json_last_error_msg() != "No error") { echo "Error Json Token : " . json_last_error_msg(); exit(); } exit(); $url = $j_rst["url"]; $img_qrcode = $this->post("http://localhost/charts/qrtext.php", $url); header("Content-type: image/png"); echo $img_qrcode; exit(); } }