"; 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_one) && (!$price_toddler_one)) { $info = "Tidak Ada Parameter Harga Ticket Toddler One Day"; } elseif (($ticket_anak_one) && (!$price_anak_one)) { $info = "Tidak Ada Parameter Harga Ticket Anak One Day"; } elseif (($ticket_dewasa_one) && (!$price_dewasa_one)) { $info = "Tidak Ada Parameter Harga Ticket Dewasa One Day"; } elseif ($ticket_toddler + $ticket_anak + $ticket_dewasa + $ticket_toddler_one + $ticket_anak_one + $ticket_dewasa_one != $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:9988/mc_quota-control_hodp.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 > 0) { $kz_price_toddler = $xml->info->price_toddler_kz; } if ($ticket_anak > 0) { $kz_price_anak = $xml->info->price_anak_kz; } if ($ticket_dewasa > 0) { $kz_price_dewasa = $xml->info->price_dewasa_kz; } //Oneday Respons if ($ticket_toddler_one > 0) { $kz_price_toddler_one = $xml->info->price_toddler_one_kz; } if ($ticket_anak_one > 0) { $kz_price_anak_one = $xml->info->price_anak_one_kz; } if ($ticket_dewasa_one > 0) { $kz_price_dewasa_one = $xml->info->price_dewasa_one_kz; } // Sudah ada transaksi sebelumnya ? $check = mysql_query("SELECT * FROM tbl_agen_notify_dev_half 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) + ($kz_price_toddler_one * $ticket_toddler_one) + ($kz_price_anak_one * $ticket_anak_one) + ($kz_price_dewasa_one * $ticket_dewasa_one); $refno = date("yWzHis") . substr(microtime(), 2, 2); $masukan = "INSERT INTO tbl_agen_notify_dev_half (ID, NOBOOK, TOTALTICKET, TICKETTODDLER, TICKETCHILD, TICKETADULT, TTODDLER_ONE, TCHILD_ONE, TADULT_ONE, TOTALPRICE, KZ_TOTALPRICE, PRICETODDLER, KZ_PRICETODDLER, PRICECHILD, KZ_PRICECHILD, PRICEADULT, KZ_PRICEADULT, PRICETODDLER_ONE, KZ_PTODDLER_ONE, PRICECHILD_ONE, KZ_PCHILD_ONE, PRICEADULT_ONE, KZ_PADULT_ONE, TRANSACTIONDATE, TICKETDATE, SHIFT,PHONECUST, EMAILCUST, NAME, STATUS, REFNO) VALUES ('$agen_id','$nobook', '$total_ticket', '$ticket_toddler', '$ticket_anak', '$ticket_dewasa', '$ticket_toddler_one','$ticket_anak_one','$ticket_dewasa_one','$total_price', '$kz_total_price','$price_toddler', '$kz_price_toddler','$price_anak', '$kz_price_anak','$price_dewasa', '$kz_price_dewasa', '$price_toddler_one','$kz_price_toddler_one','$price_anak_one','$kz_price_anak_one','$price_dewasa_one','$kz_price_dewasa_one', '$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, $ticket_toddler_one, $ticket_anak_one, $ticket_dewasa_one); $type = array("0", "2", "4", "1", "3", "5"); $price = array($price_toddler, $price_anak, $price_dewasa, $price_toddler_one, $price_anak_one, $price_dewasa_one); $kz_price = array($kz_price_toddler, $kz_price_anak, $kz_price_dewasa, $kz_price_toddler_one, $kz_price_anak_one, $kz_price_dewasa_one); 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 < 6; $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:9988/mc_import_hodp.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);