"; 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); $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 if ((!$nobook) || ($nobook == null)){ $info = "Tidak Ada Parameter Nomor Booking"; } else if (!$total_ticket) { $info = "Tidak Ada Parameter Total Tiket"; } else if (!$total_price) { $info = "Tidak Ada Parameter Total Harga"; } 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) && (!$price_toddler)) { $info = "Tidak Ada Parameter Harga Ticket Toddler"; } elseif (($ticket_anak) && (!$price_anak)) { $info = "Tidak Ada Parameter Harga Ticket Anak"; } elseif (($ticket_dewasa) && (!$price_dewasa)) { $info = "Tidak Ada Parameter Harga Ticket Dewasa"; } elseif ($ticket_toddler + $ticket_anak + $ticket_dewasa != $total_ticket) { $info = "Jumlah Ticket 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_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; $shift = $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 >0) { $kz_price_toddler = $xml->info->price_toddler; } if ($ticket_anak >0) { $kz_price_anak = $xml->info->price_anak; } if ($ticket_dewasa >0) { $kz_price_dewasa = $xml->info->price_dewasa; } // Sudah ada transaksi sebelumnya ? $check = mysql_query("Select * from tbl_agen_notify_dev where NOBOOK='$nobook'"); $ada = mysql_num_rows($check); if ($ada > 0) { $info = "Duplikat Nomor Booking"; } else { // Catat semuanya $kz_total_price = ($kz_price_toddler * $ticket_toddler) + ($kz_price_anak * $ticket_anak ) + ($kz_price_dewasa * $ticket_dewasa); $refno = date("yWzHis").substr(microtime(),2,2); $masukan = "INSERT INTO tbl_agen_notify_dev (ID, NOBOOK, TOTALTICKET, TICKETTODDLER, TICKETCHILD, TICKETADULT, TOTALPRICE, KZ_TOTALPRICE,PRICETODDLER, KZ_PRICETODDLER, PRICECHILD, KZ_PRICECHILD, PRICEADULT, KZ_PRICEADULT,TRANSACTIONDATE, TICKETDATE, SHIFT,PHONECUST, EMAILCUST, NAME, STATUS, REFNO) VALUES ('$agen_id','$nobook', '$total_ticket', '$ticket_toddler', '$ticket_anak', '$ticket_dewasa', '$total_price', '$kz_total_price', '$price_toddler', '$kz_price_toddler','$price_anak', '$kz_price_anak','$price_dewasa', '$kz_price_dewasa','$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,$ticket_anak,$ticket_dewasa); $type = array ("0","2","4"); $price = array ($price_toddler,$price_anak,$price_dewasa); $kz_price = array ($kz_price_toddler,$kz_price_anak,$kz_price_dewasa); 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<3;$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_dev (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_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); //echo "teguh".$resp1; //exit; /* if ($resp1 == "Success") { $to1 ="onlinesales@kidzania.co.id"; $subject1 =" "; $subject1.= "BERHASIL : Transaksi " .$nama_agen. " dengan nomor ".$nobook. " sudah diproses"; $message1= "Team,\n\nTransaksi ".$nama_agen." dengan No ".$nobook." sudah diproses dengan pesan : ".$resp1."\n\n"; //Jika gagal } else { $to1 ="it@kidzania.co.id"; $subject1 = "[PROD]GAGAL : Transaksi " .$nama_agen. " dengan nomor ".$nobook. " gagal diproses"; $message1= "Team,\n\nTransaksi ".$nama_agen." dengan No ".$nobook." sudah diproses dengan pesan : ".$resp1."\n\n"; // $message1= "Silakan check dengan url berikut http://intern.kidzania.co.id/onlinereservation/mc_import_manual.php\n\n"; } $from1 ="reservation@kidzania.co.id"; $semi_rand1 = md5( time() ); $mime_boundary1 = "==Multipart_Boundary_x{$semi_rand}x"; $headers1 = "From:".$from1; $message1.= "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary1}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n"; mail( $to1, $subject1, $message1, $headers1 ); */ // END PROCESS SEND MAIL TO SUPPORT -------------------------------------------- } } 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_dev_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); ?>