<?php
// Hubungkan ke database lokal dan API NexusGGR
require_once '../db/koneksi.php';
require_once '../api/nexus.php'; // Menyediakan objek $nx dari class Nexus
 
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

if (!isset($_SESSION['kode_admin'])) {
    echo '
    <script>
        alert("Terjadi kesalahan, harap masuk kembali!");
        window.location.replace("' . $alamat_admin . 'keluar.php");
    </script>
    ';
    exit();
}
 
// =========================================================================
// LOGIKA PROSES RESULT MASSAL
// =========================================================================
if (isset($_POST['proses_result'])) {
    $result_angka = trim($_POST['angka_result']);
    $pasaran_raw  = trim($_POST['pasaran_target']); // Nilai dari select: sydney, hk_lotto, dll

    // Validasi input wajib 4 digit angka
    if (strlen($result_angka) != 4 || !is_numeric($result_angka)) {
        echo "<script>alert('Angka result harus 4 digit angka!'); window.location.replace('" . $alamat_admin . "admin_togel');</script>";
        exit;
    }

    // BEDAH ANGKA RESULT SESUAI POSISINYA MING-MASING
    $res_4d     = $result_angka;                   
    $res_3d_blk = substr($result_angka, 1, 3);    // 3D Belakang
    $res_3d_dpn = substr($result_angka, 0, 3);    // 3D Depan
    $res_2d_blk = substr($result_angka, 2, 2);    // 2D Belakang
    $res_2d_tgh = substr($result_angka, 1, 2);    // 2D Tengah
    $res_2d_dpn = substr($result_angka, 0, 2);    // 2D Depan
    
$pasaran_target = mysqli_real_escape_string($koneksi, $_POST['pasaran_target']);

$query_bet = mysqli_query($koneksi, "SELECT * FROM tb_taruhan_togel 
    WHERE (status LIKE '%Berjalan%' OR status LIKE '%Merespon%' OR status = '' OR status IS NULL) 
    AND pasaran = '$pasaran_target'");
    

    $count_menang = 0;
    $count_kalah = 0;

    // Ambil kata kunci bersih dari pasaran
    $keyword_pasaran = strtolower(explode('_', $pasaran_raw)[0]);  
    
    if ($query_bet && mysqli_num_rows($query_bet) > 0) {
        while ($row = mysqli_fetch_assoc($query_bet)) {

            $id_bet       = $row['id'];
            $user_target  = $row['username'];
            $nomor_user   = trim($row['nomor']);
            $nominal_bet  = (int)$row['nominal'];
            $jenis_game   = isset($row['game']) ? strtoupper($row['game']) : ''; 
            // Ambil data mode_taruhan dari database
$mode_raw = isset($row['mode_taruhan']) ? strtoupper(trim($row['mode_taruhan'])) : '';

$is_full = ($mode_raw === 'NO DISKON'); 

$is_win = false;
$hadiah_per_1000 = 0; 

if (strlen($nomor_user) == 4) {
    if ($nomor_user == $res_4d) {
        $is_win = true;
        $hadiah_per_1000 = $is_full ? 10000000 : 3000000; 
    }
} 
else if (strlen($nomor_user) == 3) {
    $target = (strpos($jenis_game, 'DEPAN') !== false) ? $res_3d_dpn : $res_3d_blk;
    if ($nomor_user == $target) { 
        $is_win = true; 
        $hadiah_per_1000 = $is_full ? 1000000 : 400000; 
    }
}

else if (strlen($nomor_user) == 2) {
    if (strpos($jenis_game, 'DEPAN') !== false) $target = $res_2d_dpn;
    elseif (strpos($jenis_game, 'TENGAH') !== false) $target = $res_2d_tgh;
    else $target = $res_2d_blk;
    
    if ($nomor_user == $target) { 
        $is_win = true; 
        $hadiah_per_1000 = $is_full ? 100000 : 70000; 
    }
}
            // --- PROSES UPDATE STATUS & SALDO ---
            if ($is_win) {
                $total_hadiah = ($nominal_bet / 1000) * $hadiah_per_1000;
                
            $query_ext = mysqli_query($koneksi, "SELECT extplayer FROM tb_user WHERE username = '" . mysqli_real_escape_string($koneksi, $user_target) . "'");
                $data_ext  = mysqli_fetch_assoc($query_ext);
                
                // Default fallback jika kolom extplayer kosong, gunakan username asli
                $extplayer_target = (!empty($data_ext['extplayer'])) ? $data_ext['extplayer'] : $user_target;

                // 1. TEMBAK API PROVIDER NEXUS MENGGUNAKAN PARAMETER EXTPLAYER (Sama persis seperti sistem deposit)
                $deposit_response = $nx->deposit_member($extplayer_target, $total_hadiah);
                $deposit_data = json_decode($deposit_response, true);

                // 2. UPDATE SALDO DI DATABASE LOKAL USER (Bisa disesuaikan ke kolom saldo atau saldo_nexus)
                mysqli_query($koneksi, "UPDATE tb_user SET saldo_nexus = saldo_nexus + $total_hadiah WHERE username = '" . mysqli_real_escape_string($koneksi, $user_target) . "'");
                
                // 3. UPDATE STATUS TARUHAN MENJADI MENANG AGAR MASUK KE HISTORY
                mysqli_query($koneksi, "UPDATE tb_taruhan_togel SET status = 'Menang' WHERE id = $id_bet");
                $count_menang++;

            } else {
                // Jika angka tidak cocok, otomatis set Kalah di database riwayat
                mysqli_query($koneksi, "UPDATE tb_taruhan_togel SET status = 'Kalah' WHERE id = $id_bet");
                $count_kalah++;
            }
        }
    }
    echo "<script>alert('Proses Result Selesai!\\nPasaran: " . strtoupper($pasaran_raw) . "\\nResult: $result_angka\\nMenang: $count_menang User\\nKalah: $count_kalah User'); window.location.replace('" . $alamat_admin . "admin_togel');</script>";
    exit;
}

// Ambil data seluruh taruhan untuk dimonitoring
$res = mysqli_query($koneksi, "SELECT * FROM tb_taruhan_togel ORDER BY id DESC LIMIT 100");
?> 
<style>
        body { background: #121212; color: #fff; font-family: 'Segoe UI', sans-serif; padding: 20px; margin: 0; }
        .container { max-width: 1200px; margin: 0 auto; }
        .card { background: #1e1e1e; border-radius: 12px; padding: 25px; margin-bottom: 25px; border: 1px solid #333; box-shadow: 0 4px 15px rgba(0,0,0,0.5); }
        h2 { color: #FEDB37; margin-top: 0; margin-bottom: 20px; font-size: 20px; display: flex; align-items: center; gap: 10px; }
        .form-group { display: flex; flex-wrap: wrap; gap: 15px; align-items: center; }
        select, input[type="text"] { padding: 12px; border-radius: 6px; border: 1px solid #444; background: #2a2a2a; color: #fff; min-width: 220px; font-size: 14px; }
        .btn-proses { background: linear-gradient(180deg, #FEDB37 0%, #fdb931 100%); color: #000; font-weight: bold; border: none; padding: 12px 30px; cursor: pointer; border-radius: 6px; font-size: 14px; transition: 0.2s; }
        .btn-proses:hover { opacity: 0.9; transform: translateY(-1px); }
        .table-responsive { width: 100%; overflow-x: auto; }
        table { width: 100%; border-collapse: collapse; margin-top: 10px; background: #1e1e1e; text-align: center; }
        th, td { padding: 14px; border-bottom: 1px solid #2d2d2d; font-size: 13px; }
        th { background: #262626; color: #FEDB37; text-transform: uppercase; font-size: 11px; }
        tr:hover { background: #252525; }
        .status-badge { padding: 5px 12px; border-radius: 4px; font-weight: bold; font-size: 11px; text-transform: uppercase; display: inline-block; }
    </style>
<div class="container-xxl flex-grow-1 container-p-y">
  
  <div class="row gy-4 mb-4">
    <div class="col-md-6">
      <div class="fw-bold fs-4 text-center text-md-start">Manajer Hasil Pasaran Lottery</div>
    </div>
    <div class="col-md-6 text-center text-md-end">
      <span>Panel Manajemen Taruhan Togel</span>
    </div>
  </div>

  <div class="card p-4 mb-4">
    <h5 class="card-title fw-bold text-warning mb-3"><span class="mdi mdi-trophy"></span> Input Result & Auto-Settle Hadiah</h5>
    <form method="POST" action="">
      <div class="row g-3 align-items-center">
        <div class="col-md-5">
          <select class="form-select" name="pasaran_target" required>
            <option value="">-- Pilih Pasaran Togel --</option>
                <option value="SYDNEY">SYDNEY POOLS</option> 
                <option value="Sydney Lotto">SYDNEY LOTTO</option>
                <option value="SINGAPORE">SINGAPORE</option>
                <option value="CAROLINA EVE">CAROLINA EVE</option>
                <option value="HK LOTTO">HONGKONG LOTTO</option> 
                <option value="NEW YORK EVE">NEW YORK EVE</option> 
                <option value="KENTUCKY EVE">KENTUCKY EVE</option>
                <option value="CALIFORNIA">CALIFORNIA D4</option>
                <option value="FLORIDA EVE">FLORIDA EVE</option> 
                <option value="MISSOURI EVE">MISSOURI EVE</option> 
                <option value="OREGON 7 PM">OREGON 7 PM</option>
                <option value="MAGNUM CAMBODIA">MAGNUM CAMBODIA</option>
                <option value="HONGKONG POOLS">HONGKONG POOLS</option> 
                <option value="CHINA POOLS">CHINA POOLS</option> 
                <option value="BULLSEYE">BULLSEYE</option> 
                <option value="JAPAN POOLS">JAPAN POOLS</option> 
                <option value="OREGON 10 PM">OREGON 10 PM</option> 
                <option value="TOTO MACAU 13">TOTO MACAU 13</option> 
                <option value="TOTO MACAU 16">TOTO MACAU 16</option> 
                <option value="TOTO MACAU 19">TOTO MACAU 19</option> 
                <option value="TOTO MACAU 22">TOTO MACAU 22</option> 
                <option value="Toto Macau 23">TOTO MACAU 23</option> 
                <option value="Toto Macau 00">TOTO MACAU 00</option>
                 <option value="TAIWAN">TAIWAN</option> 
                    <option value="NEW YORK MID">NEW YORK MID</option> 
                    <option value="NEW JERSEY MID">NEW JERSEY MID</option> 
                    <option value="KENTUCKY MID">KENTUCKY MID</option> 
                    <option value="CAROLINA DAY">CAROLINA DAY</option> 
                <option value="MOROCCO 4">MOROCCO 4</option> 
                <option value="OREGON 1 PM">OREGON 1 PM</option> 
                <option value="GERMANY PLUS">GERMANY PLUS</option> 
                <option value="MISSOURI MID">MISSOURI MID</option> 
                <option value="MARYLAND MID">MARYLAND MID</option>
                <option value="GEORGIA C4 MID">GEORGIA C4 MID</option> 
                <option value="PCSO">PCSO</option>
                <option value="PENNSYLVANIA EVE">PENNSYLVANIA EVE</option> 
                <option value="PENNSYLVANIA DAY">PENNSYLVANIA DAY</option> 
                <option value="VIRGINIA DAY">VIRGINIA DAY</option>
                <option value="ILLINOIS MID">ILLINOIS MID</option> 
                <option value="ILLINOIS EVE">ILLINOIS EVE</option> 
                </select>
        </div>
        <div class="col-md-4">
          <input type="text" class="form-select text-start" name="angka_result" placeholder="Masukkan 4 Angka (Contoh: 5608)" maxlength="4" autocomplete="off" required style="background-color: var(--bs-custom-bg, inherit); color: inherit;">
        </div>
        <div class="col-md-3">
          <button type="submit" name="proses_result" class="btn btn-primary w-100 fw-bold">PROSES RESULT</button>
        </div>
      </div>
    </form>
  </div>

  <div class="mb-4">
    <button onclick="window.location.replace('<?php echo $alamat_admin.'dasbor'; ?>');" class="btn btn-secondary btn-sm">
      <span class="tf-icons mdi mdi-arrow-left"></span> Kembali ke Dasbor
    </button>
  </div>
<?php
$query = "SELECT * FROM tb_taruhan_togel 
          ORDER BY 
            CASE 
                WHEN status = 'Kalah' THEN 2 
                ELSE 1 
            END ASC, 
            id DESC"; 

$res = mysqli_query($koneksi, $query);
?>
  <div class="card table-responsive p-3">
    <h5 class="card-title fw-bold text-info mb-3"><span class="mdi mdi-history"></span> Monitoring Taruhan Terbaru</h5>
    <table class="table" id="example">
      <thead>
        <tr>
          <th class="text-center">Waktu Masuk</th>
          <th class="text-center">Username</th>
          <th class="text-center">Pasaran</th>
          <th class="text-center">Angka Pasang</th>
          <th class="text-center">Bet / Bayar</th>
          <th class="text-center">Status</th>
        </tr>
      </thead>
      <tbody>
  <?php 
  if ($res && mysqli_num_rows($res) > 0):
    while($row = mysqli_fetch_assoc($res)): 
      
      $st = !empty($row['status']) ? trim($row['status']) : 'Berjalan';
      $nomor = trim($row['nomor']);
      $game = strtoupper($row['game']);
      $digit = strlen($nomor);

      // --- LOGIKA FORMAT TAMPILAN ANGKA (SAMA DENGAN DETAIL_BET.PHP) ---
      $tampilan_angka = $nomor;
      if ($digit == 3) {
          $tampilan_angka = (strpos($game, 'DEPAN') !== false) ? $nomor . 'x' : 'x' . $nomor;
      } elseif ($digit == 2) {
          if (strpos($game, 'DEPAN') !== false) { 
              $tampilan_angka = $nomor . 'xx'; 
          } elseif (strpos($game, 'TENGAH') !== false) { 
              $tampilan_angka = 'x' . $nomor . 'x'; 
          } else { 
              $tampilan_angka = 'xx' . $nomor; 
          }
      }
      
      // Badge Status
      if ($st == 'Menang') {
          $status_badge = '<span class="badge bg-success">Menang</span>';
      } elseif ($st == 'Kalah') {
          $status_badge = '<span class="badge bg-danger">Kalah</span>';
      } else {
          $status_badge = '<span class="badge bg-info">Berjalan</span>';
      }
  ?>
  <tr>
    <td class="text-center"><small><?= $row['tanggal'] ?></small></td>
    <td class="text-center"><strong><?= htmlspecialchars($row['username']) ?></strong></td>
    <td class="text-center"><span class="fw-bold text-uppercase"><?= str_replace('_', ' ', $row['pasaran']) ?></span></td>
    
    <td class="text-center text-warning fw-bold fs-5">
      <?= $tampilan_angka ?>
      <br><small style="font-size: 10px; color: #888;"><?= $game ?></small>
    </td>

    <td class="text-center">Rp <?= number_format($row['nominal']) ?> / <span class="text-success">Rp <?= number_format($row['total_bayar']) ?></span></td>
    <td class="text-center"><?= $status_badge ?></td>
  </tr>
  <?php 
    endwhile; 
  else:
  ?>
  <tr>
    <td colspan="6" class="text-center p-4 text-muted">Belum ada taruhan masuk dari user.</td>
  </tr>
  <?php endif; ?>
</tbody>
    </table>
  </div>

</div>
<script>
$(document).ready(function () {
    if (!$.fn.DataTable.isDataTable('#example')) {
        $('#example').DataTable({
            "pageLength": 25,
            "autoWidth": false,
            // Tambahkan baris ini agar DataTables mengikuti urutan dari database (SQL)
            // saat pertama kali halaman dimuat:
            "order": [], 
            "ordering": true
        });
    }
});
</script>
    