<?php
session_start();

include '../function/connect.php';
$extplayer = $_SESSION['extplayer'];
date_default_timezone_set('Asia/Jakarta');
$username = $_SESSION['username'];

$cuk = mysqli_query($koneksi, "SELECT * FROM tb_web");
$cek_web = mysqli_fetch_array($cuk);
$urlweb = $cek_web['url'];

if (isset($_GET['provider']) AND (isset($_GET['gamecode']))) {
  $provider = $_GET['provider'];
  $gamecode = $_GET['gamecode'];
  $userid = $_SESSION['id'];

  $kode_unik = substr(str_shuffle(1234567890),0,3);
  $kd_transaksi = date('Ymds').$kode_unik.$userid;
  $requestID = substr(str_shuffle('abcdefghijklmnopqrstuvwxyz123456789'),0,8);
  $created_date = date('Y-m-d H:i:s');

  $cekGame = mysqli_query($koneksi, "SELECT * FROM `tb_gamelist` WHERE `gameid` = '$gamecode' AND `provider` = '$provider'") or die(mysqli_error());
  $cek = mysqli_fetch_array($cekGame);

  if($cek['datatype'] == 'RNG'){
    $urlBack = '../index.php?page=slot&id='.$provider;
  }else if($cek['datatype'] == 'LC'){
    $urlBack = '../index.php?page=casino';
  }else if($cek['datatype'] == 'VSB'){
    $urlBack = '../index.php?page=games';
  }else{
    $urlBack = '../index.php';
  }

		//Transfer Dana
  $getBalance = mysqli_query($koneksi, "SELECT * FROM `tb_saldo` WHERE id_user = '$extplayer'") or die(mysqli_error());
  $gb = mysqli_fetch_array($getBalance);
  $nominale = $gb['active'];
  $catatan = 'Transfer to PragmaticPlay';
  $requestIDD = $requestID.date('s');

  $inserPlayer = mysqli_query($koneksi,"UPDATE `tb_player` SET `status` = 1 WHERE id_user = '$extplayer' AND `provider` = 'PragmaticPlay'") or die(mysqli_error());
  $sql_provider = mysqli_query($koneksi, "SELECT * FROM `tb_api` WHERE id = 1") or die(mysqli_error());
  $sp = mysqli_fetch_array($sql_provider);
  $urlRequest = $sp['tujuan_url'];
  $gameUrl = $sp['respon'];
		$secureLogin = $sp['api']; //apiKey
		$secretKey = $sp['kunci']; //brandID

		$params2 = 'cashierUrl='.$urlweb.'&externalPlayerId='.$extplayer.'&gameId='.$gamecode.'&language=id&lobbyUrl='.$urlweb.'&platform=WEB&secureLogin='.$secureLogin.$secretKey;
   $hashNeed2 = md5($params2);
   $curl2 = curl_init();
   curl_setopt_array($curl2, array(
     CURLOPT_URL => $urlRequest.'/game/start',
     CURLOPT_RETURNTRANSFER => true,
     CURLOPT_ENCODING => "",
     CURLOPT_MAXREDIRS => 10,
     CURLOPT_TIMEOUT => 0,
     CURLOPT_FOLLOWLOCATION => true,
     CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
     CURLOPT_CUSTOMREQUEST => "POST",
     CURLOPT_POSTFIELDS => "secureLogin=".$secureLogin."&externalPlayerId=".$extplayer."&gameId=".$gamecode."&language=id&platform=WEB&cashierUrl=".$urlweb."&lobbyUrl=".$urlweb."&hash=".$hashNeed2,
     CURLOPT_HTTPHEADER => array(
       "Content-Type: application/x-www-form-urlencoded",
       "Cache-Control: no-cache"
     ),
   ));

   $response2 = curl_exec($curl2);
   $hasil2 = json_decode($response2, true);
   if ($hasil2['description'] == 'OK') {
    $playUrl = $hasil2['gameURL'];
    $params1 = 'amount='.$nominale.'&externalPlayerId='.$extplayer.'&externalTransactionId='.$kd_transaksi.'&secureLogin='.$secureLogin.$secretKey;
    $hashNeed1 = md5($params1);
    $curl1 = curl_init();

    curl_setopt_array($curl1, array(
      CURLOPT_URL => $urlRequest.'/balance/transfer',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "POST",
      CURLOPT_POSTFIELDS => "secureLogin=".$secureLogin."&externalPlayerId=".$extplayer."&externalTransactionId=".$kd_transaksi."&amount=".$nominale."&hash=".$hashNeed1,
      CURLOPT_HTTPHEADER => array(
        "Content-Type: application/x-www-form-urlencoded",
        "Cache-Control: no-cache"
      ),
    ));

    $response1 = curl_exec($curl1);
        //echo $response1;
    curl_close($curl1);
    $hasil1 = json_decode($response1, true);
    if($hasil1['description'] == 'OK'){
      $transactionId = $hasil1['transactionId'];
      $insert_transaksi = mysqli_query($koneksi, "INSERT INTO `tb_trxgame` (`kd_transaksi`, `date`, `transaksi`, `total`, `saldo`, `note`, `gameid`, `provider`, `id_user`, `status`) VALUES ('$kd_transaksi', '$created_date', 'Transfer', '$nominale',0,'$catatan','$gamecode','PragmaticPlay','$extplayer', 1)") or die(mysqli_error());

      $updateBalance = mysqli_query($koneksi, "UPDATE `tb_saldo` SET `active` = active - '$nominale', `transfer` = transfer + '$nominale' WHERE id_user = '$extplayer'") or die(mysqli_error());

      $updatePlayerBalance = mysqli_query($koneksi,"UPDATE `tb_player` SET `balance` = '$nominale' WHERE id_user = '$extplayer' AND `provider` = 'PragmaticPlay'") or die(mysqli_error());
      
      $updatePlayer = mysqli_query($koneksi, "UPDATE `tb_player` SET `status` = 0 WHERE id_user = '$extplayer' AND `provider` != 'PragmaticPlay'") or die(mysqli_error());

    }else{
     $params4 = 'externalPlayerId='.$extplayer.'&secureLogin='.$secureLogin.$secretKey;
     $hashNeed4 = md5($params4);
     $curl4 = curl_init();

     curl_setopt_array($curl4, array(
      CURLOPT_URL => $urlRequest.'/balance/current',
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_ENCODING => "",
      CURLOPT_MAXREDIRS => 10,
      CURLOPT_TIMEOUT => 0,
      CURLOPT_FOLLOWLOCATION => true,
      CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
      CURLOPT_CUSTOMREQUEST => "POST",
      CURLOPT_POSTFIELDS => "secureLogin=".$secureLogin."&externalPlayerId=".$extplayer."&hash=".$hashNeed4,
      CURLOPT_HTTPHEADER => array(
        "Content-Type: application/x-www-form-urlencoded",
        "Cache-Control: no-cache"
      ),
    ));

     $response4 = curl_exec($curl4);
            //echo $response;
     curl_close($curl4);
     $hasil4 = json_decode($response4, true);
     $newSaldo = $hasil4['balance'];

     if($newSaldo > $nominale){
      $params3 = 'amount=-'.$nominale.'&externalPlayerId='.$extplayer.'&externalTransactionId='.$kd_transaksi.'&secureLogin='.$secureLogin.$secretKey;
      $hashNeed3 = md5($params3);
      $curl3 = curl_init();

      curl_setopt_array($curl3, array(
        CURLOPT_URL => $urlRequest.'/balance/transfer',
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "POST",
        CURLOPT_POSTFIELDS => "secureLogin=".$secureLogin."&externalPlayerId=".$extplayer."&externalTransactionId=".$kd_transaksi."&amount=-".$nominale."&hash=".$hashNeed3,
        CURLOPT_HTTPHEADER => array(
          "Content-Type: application/x-www-form-urlencoded",
          "Cache-Control: no-cache"
        ),
      ));

      $response3 = curl_exec($curl3);
                //echo $response1;
      curl_close($curl3);
    }
    $updatePlayer = mysqli_query($koneksi, "UPDATE `tb_player` SET `status` = 0 WHERE id_user = '$extplayer' AND `provider` = 'PragmaticPlay'") or die(mysqli_error());

  }

// Fungsi untuk membuat token acak
function generateToken($length = 32) {
    return bin2hex(random_bytes($length));
}


// Menyimpan playUrl dalam sesi
$_SESSION['playUrl'] = $playUrl;

// Redirect ke halaman main2.php
header("Location: main2.php?jancuk=78248921783427189734829174821487218947814672365723678637462374678236478236478326478347863278467382&Stylename=SWIPER_JANGAN_MENCURI");
exit();

}
header('Location:'.$urlBack.'?notif=2');
exit();


}

?>