"; echo " $nama_agen $nobook $status $info $rn "; ob_end_flush(); } else { $string='{ "Dataset" : { "nama_merchant":"'.$nama_agen.'", "nobook":"'.$nobook.'", "status":"'.$status.'", "info":"'.$info.'", "refno":"'.$rn.'", "time":"'.$time.'" } }'; header('Content-type: application/json'); echo $string; } } //Decrypt require_once("kzkey1.php"); extract($_POST); //$category =$_POST['typ']; $kzkey = new Kidzo(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB); $kunci ="12ADx9522Xc"; $agen_id = $kzkey->decrypt($idmc, $kunci); //Check nama agen $sql = mysql_query("select * from tbl_agen_id where id='$agen_id'"); $rowdata = mysql_num_rows($sql); if ($format !="json") { $format = "xml"; } //tidak ada agen if ($rowdata=="0") { $info = "Merchant Tidak Dikenal"; $mc = "0"; $jwb = "Stop"; } else { $data = mysql_fetch_array($sql); extract($data); //Check kelengkapan data $category =$calender; if ($category =="HOLIDAY") { if ((!$nobook) || ($nobook == null)){ $info = "Tidak Ada Parameter Nomor Booking"; } else if (!$total_ticket_half) { $info = "Tidak Ada Parameter Total Tiket Half Day"; } else if (!$total_price_half) { $info = "Tidak Ada Parameter Total Harga Half Day"; } else if (!$tgl_transaksi) { $info = "Tidak Ada Parameter Tanggal Transaksi"; } else if (!$tgl_ticket) { $info = "Tidak Ada Parameter Tanggal Ticket"; } else if (($shift !="0")&&($shift !="1")) { $info = "Tidak Ada Paramter Shift $shift"; } elseif (!$phone_cust) { $info = "Tidak Ada Paremeter Nomor Telephone Customer"; } else if (!$email_cust) { $info = "Tidak Ada Parameter Email Customer"; } elseif (!$nama) { $info = "Tidak Ada Parameter Nama Customer"; } elseif (($ticket_toddler_half) && (!$price_toddler_half)) { $info = "Tidak Ada Parameter Harga Ticket Toddler Half Day"; } elseif (($ticket_anak_half) && (!$price_anak_half)) { $info = "Tidak Ada Parameter Harga Ticket Anak Half Day"; } elseif (($ticket_dewasa_half) && (!$price_dewasa_half)) { $info = "Tidak Ada Parameter Harga Ticket Dewasa Half Day"; } elseif (($ticket_parentexperience) && (!$price_parentexperience)) { $info = "Tidak Ada Parameter Harga Ticket Parent Experience"; } elseif ($ticket_toddler_half + $ticket_anak_half + $ticket_dewasa_half + $ticket_parentexperience != $total_ticket_half) { $info = "Jumlah Ticket Halfday Tidak Sesuai"; } else { //Jika quota habis ? $curl = curl_init(); // Set some options - we are passing in a useragent too here curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => 'http://202.72.220.153:9999/mc_quota-control_hodp_dev.php?tgl='.$tgl_ticket.'&shift='.$shift.'nama_agen='.$nama_agen, CURLOPT_USERAGENT => 'Codular Sample cURL Request', CURLOPT_TIMEOUT_MS => 30000, CURLOPT_RETURNTRANSFER => true, CURLOPT_NOSIGNAL => 1, )); // Send the request & save response to $resp $resp_quota_control = curl_exec($curl); $curl_errno = curl_errno($curl); $curl_error = curl_error($curl); // Close request to clear up some resources curl_close($curl); // Jika Time Out if ($curl_errno > 0) { $info = "Request Time Out"; } else { $xml = simplexml_load_string($resp_quota_control); $tanggal = $xml->info->tanggal; $shift1 = $xml->info->shift; $sesi = $xml->info->sesi; $code = $xml->info->code; $status = $xml->info->status; $quota_anak = $xml->info->quota_anak; $quota_dewasa = $xml->info->quota_dewasa; if ($ticket_toddler_half >0) { $kz_price_toddler_half = $xml->info->price_toddler_half; } if ($ticket_anak_half >0) { $kz_price_anak_half = $xml->info->price_anak_half; } if ($ticket_dewasa_half >0) { $kz_price_dewasa_half = $xml->info->price_dewasa_half; } if ($ticket_parentexperience>0) { $kz_price_anak_half = $xml->info->price_anak_half; } // Sudah ada transaksi sebelumnya ? $check = mysql_query("Select * from tbl_agen_notify where NOBOOK='$nobook'"); $ada = mysql_num_rows($check); if ($ada > 0) { $info = "Duplikat Nomor Booking"; } else { // Catat semuanya $kz_total_price = ($kz_price_toddler_half * $ticket_toddler_half) + ($kz_price_anak_half * $ticket_anak_half ) + ($kz_price_dewasa_half * $ticket_dewasa_half) + ($kz_price_anak_half * $ticket_parentexperience) ; $refno = date("yWzHis").substr(microtime(),2,2); $masukan = "INSERT INTO tbl_agen_notify (ID, NOBOOK, TOTALTICKET, TICKETTODDLER, TICKETCHILD, TICKETADULT, TICKETPE, TOTALPRICE, KZ_TOTALPRICE,PRICETODDLER, KZ_PRICETODDLER, PRICECHILD, KZ_PRICECHILD, PRICEADULT, KZ_PRICEADULT, PRICE_PE, TRANSACTIONDATE, TICKETDATE, SHIFT,PHONECUST, EMAILCUST, NAME, STATUS, REFNO) VALUES ('$agen_id','$nobook', '$total_ticket_half', '$ticket_toddler_half', '$ticket_anak_half', '$ticket_dewasa_half', '$ticket_parentexperience', '$total_price_half', '$kz_total_price', '$price_toddler_half', '$kz_price_toddler_half','$price_anak_half', '$kz_price_anak_half','$price_dewasa_half', '$kz_price_dewasa_half', 'price_parentexperience', '$tgl_transaksi', '$tgl_ticket','$shift', '$phone_cust', '$email_cust', '$nama', 'Success','$refno')"; $process= mysql_query($masukan); // or die(mysql_error()); if (!$process) { $info = "Data Tidak Lengkap : " . mysql_error($DBconnect) ; } else { $info = "Transaksi Berhasil"; $ticket = array($ticket_toddler_half,$ticket_anak_half,$ticket_dewasa_half,$ticket_toddler_one,$ticket_anak_one,$ticket_dewasa_one,$ticket_parentexperience); //$type = array ("0","2","4"); $type = array ("0","2","4","6"); $price = array ($price_toddler_half,$price_anak_half,$price_dewasa_half, $price_parentexperience); $kz_price = array ($kz_price_toddler_half,$kz_price_anak_half,$kz_price_dewasa_half,$price_parentexperience); include_once('rndPass.class.php'); $pass=new rndPass(8); $tmppass=$pass->PassGen(); $n=1; $f = $total_ticket; if($f<10 ) { $f='0'.$f; } for ($i=0;$i<4;$i++) { for ($x=0;$x<$ticket[$i];$x++) { if($n<10) { $n='0'.$n; } if($ticket[$i] !="0"){ $h= "MC"; $c= $h.$tmppass.$f.$n; mysql_query("INSERT into tbl_agen_ticket (NOBOOK,TYPE,PRICE,KZ_PRICE,NO_TICK) VALUES ('$nobook','$type[$i]','$price[$i]','$kz_price[$i]','$c')") or die (mysql_error()); } $n++; } } // Disini process inject ke DB server Kz // URL Quota Kidzania $url = 'http://202.72.220.153:9999/mc_import_hodp_dev.php'; $params = array( 'nobook' => $nobook // Nomor Booking ); $params_string = http_build_query($params); //open connection $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, count($params)); curl_setopt($ch, CURLOPT_POSTFIELDS, $params_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_NOSIGNAL, 1); curl_setopt($ch, CURLOPT_TIMEOUT_MS, 40000); //execute post $resp_import = curl_exec($ch); $curl_errno = curl_errno($ch); $curl_error = curl_error($ch); //Close connection curl_close($ch); if ($curl_errno > 0) { //echo "cURL Error ($curl_errno): $curl_error\n"; $info = "Request Time Out"; } else { //START PROCESS SEND MAIL TO SUPPORT ------------------------------------------- $resp1 = trim($resp_import); } } mysql_close(); } } } } else { if ((!$nobook) || ($nobook == null)){ $info = "Tidak Ada Parameter Nomor Booking"; //} else if (!$total_ticket_half) { // $info = "Tidak Ada Parameter Total Tiket Half Day"; //} else if (!$total_price_half) { // $info = "Tidak Ada Parameter Total Harga Half Day"; //} else if (!$total_ticket_one) { // $info = "Tidak Ada Parameter Total Tiket One Day"; //} else if (!$total_price_one) { // $info = "Tidak Ada Parameter Total Harga One Day"; } else if (!$tgl_transaksi) { $info = "Tidak Ada Parameter Tanggal Transaksi"; } else if (!$tgl_ticket) { $info = "Tidak Ada Parameter Tanggal Ticket"; } else if (($shift !="0")&&($shift !="1")) { $info = "Tidak Ada Paramter Shift $shift"; } elseif (!$phone_cust) { $info = "Tidak Ada Paremeter Nomor Telephone Customer"; } else if (!$email_cust) { $info = "Tidak Ada Parameter Email Customer"; } elseif (!$nama) { $info = "Tidak Ada Parameter Nama Customer"; } elseif (($ticket_toddler_half) && (!$price_toddler_half)) { $info = "Tidak Ada Parameter Harga Ticket Toddler Half Day"; } elseif (($ticket_anak_half) && (!$price_anak_half)) { $info = "Tidak Ada Parameter Harga Ticket Anak Half Day"; } elseif (($ticket_dewasa_half) && (!$price_dewasa_half)) { $info = "Tidak Ada Parameter Harga Ticket Dewasa Half Day"; } elseif (($ticket_parentexperience) && (!$price_parentexperience)) { $info = "Tidak Ada Parameter Harga Ticket Parent Experience"; } elseif ($ticket_toddler_half + $ticket_anak_half + $ticket_dewasa_half + $ticket_parentexperience != $total_ticket_half) { $info = "Jumlah Ticket Halfday Tidak Sesuai"; //Oneday Respons } elseif (($ticket_toddler_one) && (!$price_toddler_one)) { $info = "Tidak Ada Parameter Harga Ticket Toddler Oneday"; } elseif (($ticket_anak_one) && (!$price_anak_one)) { $info = "Tidak Ada Parameter Harga Ticket Anak Oneday"; } elseif (($ticket_dewasa_one) && (!$price_dewasa_one)) { $info = "Tidak Ada Parameter Harga Ticket Dewasa Oneday"; } elseif ($ticket_toddler_one + $ticket_anak_one + $ticket_dewasa_one != $total_ticket_one) { $info = "Jumlah Ticket Oneday Tidak Sesuai"; } else { //Jika quota habis ? $curl = curl_init(); // Set some options - we are passing in a useragent too here curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_URL => 'http://202.72.220.153:9999/mc_quota-control_hodp_dev.php?tgl='.$tgl_ticket.'&shift='.$shift.'nama_agen='.$nama_agen, CURLOPT_USERAGENT => 'Codular Sample cURL Request', CURLOPT_TIMEOUT_MS => 30000, CURLOPT_RETURNTRANSFER => true, CURLOPT_NOSIGNAL => 1, )); // Send the request & save response to $resp $resp_quota_control = curl_exec($curl); $curl_errno = curl_errno($curl); $curl_error = curl_error($curl); // Close request to clear up some resources curl_close($curl); // Jika Time Out if ($curl_errno > 0) { $info = "Request Time Out"; } else { $xml = simplexml_load_string($resp_quota_control); $tanggal = $xml->info->tanggal; $shift1 = $xml->info->shift; $sesi = $xml->info->sesi; $code = $xml->info->code; $status = $xml->info->status; $quota_anak = $xml->info->quota_anak; $quota_dewasa = $xml->info->quota_dewasa; if ($ticket_toddler_half >0) { $kz_price_toddler_half = $xml->info->price_toddler_half; } if ($ticket_anak_half >0) { $kz_price_anak_half = $xml->info->price_anak_half; } if ($ticket_dewasa_half >0) { $kz_price_dewasa_half = $xml->info->price_dewasa_half; } if ($ticket_parentexperience>0) { $kz_price_anak_half = $xml->info->price_anak_half; } //Oneday Respons if ($ticket_toddler_one >0) { $kz_price_toddler_one = $xml->info->price_toddler_one; } if ($ticket_anak_one >0) { $kz_price_anak_one = $xml->info->price_anak_one; } if ($ticket_dewasa_one >0) { $kz_price_dewasa_one = $xml->info->price_dewasa_one; } // Sudah ada transaksi sebelumnya ? $check = mysql_query("Select * from tbl_agen_notify where NOBOOK='$nobook'"); $ada = mysql_num_rows($check); if ($ada > 0) { $info = "Duplikat Nomor Booking"; } else { // Catat semuanya $kz_total_price = ($kz_price_toddler_half * $ticket_toddler_half) + ($kz_price_anak_half * $ticket_anak_half ) + ($kz_price_dewasa_half * $ticket_dewasa_half) + ($kz_price_toddler_one * $ticket_toddler_one) + ($kz_price_anak_one * $ticket_anak_one) + ($kz_price_dewasa_one * $ticket_dewasa_one) + ($kz_price_anak_half * $ticket_parentexperience); $tprice = ($total_price_half + $total_price_one); $t_ticket =($total_ticket_half + $total_ticket_one); $t_todd =($ticket_toddler_half + $ticket_toddler_one); $t_anak =($ticket_anak_half + $ticket_anak_one); $t_dewasa =($ticket_dewasa_half + $ticket_dewasa_one); $refno = date("yWzHis").substr(microtime(),2,2); $masukan = "INSERT INTO tbl_agen_notify (ID, NOBOOK, TOTALTICKET, TICKETTODDLER, TICKETCHILD, TICKETADULT, TICKETPE, TOTALPRICE, KZ_TOTALPRICE,PRICETODDLER, KZ_PRICETODDLER, PRICECHILD, KZ_PRICECHILD, PRICEADULT, KZ_PRICEADULT,PRICETODDLER_ONE,PRICETODDLER_7,PRICECHILD_ONE,PRICECHILD_7,PRICEADULT_ONE,PRICEADULT_7, TOTAL_PRICE_ONE,TOTAL_PRICE_7,PRICE_PE, TRANSACTIONDATE, TICKETDATE, SHIFT,PHONECUST, EMAILCUST, NAME, STATUS, REFNO) VALUES ('$agen_id','$nobook', '$t_ticket', '$t_todd', '$t_anak', '$t_dewasa', '$ticket_parentexperience', '$tprice', '$kz_total_price', '$price_toddler_half', '$kz_price_toddler_half','$price_anak_half', '$kz_price_anak_half','$price_dewasa_half','$kz_price_dewasa_half','$price_toddler_one', '$kz_price_toddler_one','$price_anak_one','$kz_price_anak_one','$price_dewasa_one','$kz_price_dewasa_one','$tprice','$kz_total_price', '$price_parentexperience', '$tgl_transaksi', '$tgl_ticket','$shift', '$phone_cust', '$email_cust', '$nama', 'Success','$refno')"; $process= mysql_query($masukan); // or die(mysql_error()); if (!$process) { $info = "Data Tidak Lengkap : " . mysql_error($DBconnect) ; } else { $info = "Transaksi Berhasil"; //KONFIGURASI NOMOR TICKET $ticket = array($ticket_toddler_half,$ticket_anak_half,$ticket_dewasa_half,$ticket_toddler_one,$ticket_anak_one,$ticket_dewasa_one,$ticket_parentexperience); $type = array ("0","2","4","1","3","5","6"); $price = array ($price_toddler_half,$price_anak_half,$price_dewasa_half,$price_toddler_one,$price_anak_one,$price_dewasa_one,$price_parentexperience); //$kz_price = array ($kz_price_toddler,$kz_price_anak,$kz_price_dewasa); $kz_price = array ($kz_price_toddler_half,$kz_price_anak_half,$kz_price_dewasa_half,$kz_price_toddler_one,$kz_price_anak_one,$kz_price_dewasa_one,$price_parentexperience); include_once('rndPass.class.php'); $pass=new rndPass(8); $tmppass=$pass->PassGen(); $n=1; $f = $total_ticket; if($f<10 ) { $f='0'.$f; } for ($i=0;$i<7;$i++) { for ($x=0;$x<$ticket[$i];$x++) { if($n<10) { $n='0'.$n; } if($ticket[$i] !="0"){ $h= "MC"; $c= $h.$tmppass.$f.$n; mysql_query("INSERT into tbl_agen_ticket (NOBOOK,TYPE,PRICE,KZ_PRICE,NO_TICK) VALUES ('$nobook','$type[$i]','$price[$i]','$kz_price[$i]','$c')") or die (mysql_error()); } $n++; } } // Disini process inject ke DB server Kz // URL Quota Kidzania $url = 'http://202.72.220.153:9999/mc_import_hodp_dev.php'; $params = array( 'nobook' => $nobook // Nomor Booking ); $params_string = http_build_query($params); //open connection $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, count($params)); curl_setopt($ch, CURLOPT_POSTFIELDS, $params_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_NOSIGNAL, 1); curl_setopt($ch, CURLOPT_TIMEOUT_MS, 40000); //execute post $resp_import = curl_exec($ch); $curl_errno = curl_errno($ch); $curl_error = curl_error($ch); //Close connection curl_close($ch); if ($curl_errno > 0) { //echo "cURL Error ($curl_errno): $curl_error\n"; $info = "Request Time Out"; } else { //START PROCESS SEND MAIL TO SUPPORT ------------------------------------------- $resp1 = trim($resp_import); } } mysql_close(); } } } } } //} if ($mc !="0") { $mc = "1"; } if (!$nobook) { $nobook = "00000"; } if ($info =="Transaksi Berhasil") { $jwb = "Success"; $rn = $refno; } else { $jwb = "Stop"; $rn = "0"; $sql = "insert into tbl_agen_failed (nama_agen,nobook,nama,respons) values ('".$nama_agen."','".$nobook."','".$nama."','".$info."')"; mysql_query($sql,$DBconnect) or die (mysql_error()); } output($format,$mc,$nobook,$jwb,$info, $rn); //Create logs $date = date("Y-m"); $logfile = "/var/log/resv/mc_live_log".$date.".log"; // jika file log belum ada, buat dulu if(!file_exists($logfile)){ $fp = fopen($logfile,'w'); #buat file dengan akses tulis penuh chmod($logfile, 0777); }else{ $fp = fopen($logfile,'a+'); #akses file dengan modus buka/tulis chmod($logfile, 0777); } $var_info = print_r($_POST,true); $ipaddress = $_SERVER['REMOTE_ADDR']; $filename = $_SERVER['SCRIPT_FILENAME']; $timestamp = date('m/d/Y H:i:s'); fwrite($fp, $filename. ' ---------'); fwrite($fp, '['.$timestamp.']: '.$ipaddress.' '.$nama_agen. ' POST : '.$var_info."\r\n"); fwrite($fp, 'Kz Respons : '.$jwb.' : '.$info. " : ".$rn. "\r\n"); fwrite($fp, '----------------------------------------------------------'.$timestamp."\r\n\n"); fclose($fp); ?>