PATH: /home/hwyuvbry/pelanggan.waroenkhoki123.web.id
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 .htaccess
↓
X
📄 .htaccess.php
↓
X
📄 .well
↓
X
📁 .well-known/
X
📁 api/
X
📄 api_result.log
↓
X
📁 asset/
X
📁 assets/
X
📄 bbfs.php
↓
X
📄 betting.php
↓
X
📄 buku-mimpi.php
↓
X
📁 captcha/
X
📁 cdn-cgi/
X
📁 cdn.jsdelivr.net/
X
📁 css/
X
📄 data_pengeluaran.php
↓
X
📁 db/
X
📄 debug_game_launch.log
↓
X
📄 deposit.php
↓
X
📄 detail_bet.php
↓
X
📄 error_log
↓
X
📁 function/
X
📄 history.php
↓
X
📄 history_togel.php
↓
X
📁 images/
X
📄 import_games.php
↓
X
📄 import_games.phpSGX#
↓
X
📄 index.php
↓
X
📁 js/
X
📁 komando86/
X
📄 live-casino.php
↓
X
📄 live-casino.php#
↓
X
📄 login.php
↓
X
📄 logout.php
↓
X
📄 pesan.php
↓
X
📄 play.php
↓
X
📄 play.php#$$
↓
X
📄 poltar.php
↓
X
📄 profile.php
↓
X
📄 promo.php
↓
X
📄 qris_callback_log.txt
↓
X
📄 qris_cb.php
↓
X
📄 referral.php
↓
X
📄 referral.php#
↓
X
📄 register.php
↓
X
📄 riwayat_menang.php
↓
X
📄 robots.txt
↓
X
📄 sambung-ayam.php
↓
X
📄 sgx.log
↓
X
📄 sitemap.php
↓
X
📄 sitemap.xml
↓
X
📄 slot-rtp.php
↓
X
📄 slot.php
↓
X
📄 sosmed.php
↓
X
📄 sport.php
↓
X
📄 sport.php#
↓
X
📄 tembak-ikan.php
↓
X
📁 template/
X
📄 togel-scraper.php
↓
X
📄 togel.php
↓
X
📄 turn-over.php
↓
X
📄 update_saldo.php
↓
X
📁 upload/
X
📁 vendor/
X
📄 virtual.php
↓
X
📄 withdraw.php
↓
X
📄 ykzexpds_bunga.sql
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: bbfs.php
<?php include 'template/header.php'; ?> <style> /* Mengisolasi halaman BBFS agar tidak bisa ditabrak atau ditutupi oleh footer */ .bbfs-page-wrapper { width: 100% !important; display: block !important; position: relative !important; clear: both !important; box-sizing: border-box !important; float: none !important; } /* Ruang atas disesuaikan dengan tipe perangkat */ <?php if ($mobile): ?> .bbfs-page-wrapper { padding-top: 85px !important; } <?php else: ?> .bbfs-page-wrapper { padding-top: 190px !important; } <?php endif; ?> .bet-container { width: 95%; margin: 0 auto !important; /* Padding bawah super besar untuk memaksa footer.php turun ke dasar tanah */ padding-bottom: 150px !important; font-family: 'Poppins', sans-serif; color: #fff; box-sizing: border-box; } /* Kotak Navigasi & Menu Atas */ .bet-nav-box { background-color: #262626; border: 1px solid #3a3a3a; border-radius: 12px; padding: 12px; margin-bottom: 15px; } .bet-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; align-items: center; } .bet-row:last-child { margin-bottom: 0; } .bet-label { font-size: 14px; font-weight: bold; color: #f1c40f; min-width: 110px; } /* Dropdown Pilihan */ .bet-select { background-color: #1a1a1a; color: #fff; border: 1px solid #FFD700; border-radius: 6px; padding: 6px 10px; font-size: 13px; outline: none; flex: 1; max-width: 250px; } /* Tombol Tipe Mode & Jenis Game */ .btn-bet-mode { background-color: #1a1a1a; color: #bbb; border: 1px solid #444; padding: 6px 14px; border-radius: 20px; font-size: 12px; cursor: pointer; font-weight: 600; } .btn-bet-mode.active { background: linear-gradient(to right, #FEDB37, #9f7928); color: #000; border-color: #FEDB37; } /* Pembungkus Input BBFS & Tombol Generate */ .gen-input-wrapper { display: flex; gap: 8px; flex: 1; max-width: 350px; } .input-bbfs { flex: 1; background-color: #1a1a1a; color: #fff; border: 1px solid #555; border-radius: 4px; padding: 5px; text-align: center; font-weight: bold; font-size: 16px; letter-spacing: 2px; outline: none; } /* TOMBOL GENERATE INLINE */ .btn-generate { background: linear-gradient(to right, #bf9a33, #febd14) !important; color: #fff !important; border: none !important; padding: 8px 13px !important; border-radius: 6px !important; font-weight: bold !important; font-size: 13px !important; cursor: pointer !important; } /* Checkbox Centang Biru */ .check-group { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; background-color: #1a1a1a; padding: 12px; border-radius: 8px; border: 1px solid #333; margin-bottom: 15px; } .check-item { display: flex; align-items: center; gap: 8px; font-size: 13px; cursor: pointer; } .check-item input[type="checkbox"] { width: 18px; height: 18px; accent-color: #2980b9; cursor: pointer; } /* Tabel Blok Hasil Acakan Angka */ .bbfs-table-box { background-color: #262626; border: 1px solid #333; border-radius: 8px; margin-bottom: 10px; width: 100%; box-sizing: border-box; } .bbfs-table-title { background-color: #333; color: #f1c40f; padding: 8px 52px; font-size: 13px; font-weight: bold; border-bottom: 1px solid #444; } .bbfs-table { width: 100%; table-layout: fixed; border-collapse: collapse; } .bbfs-table th { background-color: #1a1a1a; color: #bbb; padding: 8px 2px; font-size: 11px; } .bbfs-table td { padding: 8px 2px; border-top: 1px solid #323232; } /* Input Nominal Harga Bet */ .input-table-amt { width: 100%; max-width: 80px; background-color: #000; color: #2ecc71; border: 1px solid #444; border-radius: 4px; padding: 4px; text-align: center; font-weight: bold; font-size: 12px; box-sizing: border-box; } /* Teks Preview Angka */ .preview-numbers { background-color: #151515; color: #ddd; padding: 10px; font-size: 12px; /* Memaksa teks turun ke bawah tanpa scroll */ white-space: normal; word-wrap: break-word; word-break: break-all; border-top: 1px dashed #444; text-align: left; line-height: 1.5; /* Hapus max-height agar bisa memanjang ke bawah mengikuti jumlah angka */ min-height: 30px; overflow-y: visible; } /* Kotak Nota Ringkasan Akhir */ .summary-box { background-color: #1a1a1a; border: 1px solid #f1c40f; border-radius: 10px; padding: 12px; margin-top: 15px; margin-bottom: 15px; } .summary-title { font-size: 14px; font-weight: bold; color: #f1c40f; margin-bottom: 8px; border-bottom: 1px solid #333; padding-bottom: 4px; } .summary-row { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 6px; color: #ddd; } .summary-row:last-child { margin-bottom: 0; font-weight: bold; font-size: 15px; color: #2ecc71; } /* TOMBOL SUBMIT UTAMA */ .btn-submit-bet { background: linear-gradient(to right, #FEDB37, #FDB931) !important; color: #000 !important; border: none !important; width: 100% !important; padding: 14px !important; font-size: 16px !important; font-weight: bold !important; border-radius: 8px !important; cursor: pointer !important; box-shadow: 0 4px 6px rgba(0,0,0,0.3) !important; font-family: 'Poppins', sans-serif; margin-bottom: 50px !important; } </style> <div class="bbfs-page-wrapper"> <div class="bet-container"> <div class="bet-nav-box"> <div class="bet-row"> <div class="bet-label">Pilih Pasaran</div> <select class="bet-select" id="pasaranTogel"> <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="bet-row"> <div class="bet-label">Mode Taruhan</div> <button type="button" class="btn-bet-mode" id="modeNoDisk" onclick="changeMode(false)">NO DISKON</button> <button type="button" class="btn-bet-mode active" id="modeDisk" onclick="changeMode(true)">DISKON</button> </div> <div class="bet-row"> <div class="bet-label">Jenis Game:</div> <button type="button" id="menu-betting" class="btn-bet-mode" onclick="location.href='betting.php?pasaran=' + document.getElementById('pasaranTogel').value">GAMES 4D</button> <button type="button" id="menu-bbfs" class="btn-bet-mode" onclick="location.href='bbfs.php?pasaran=' + document.getElementById('pasaranTogel').value">BB CAMPURAN</button> <button type="button" id="menu-poltar" class="btn-bet-mode" onclick="location.href='poltar.php?pasaran=' + document.getElementById('pasaranTogel').value">POLA TARUNG</button> </div> <div class="bet-row" style="margin-top: 15px;"> <div class="bet-label">Angka BBFS Max 8Digit</div> <div class="gen-input-wrapper"> <input type="text" class="input-bbfs" id="bbfsInput" placeholder=""> <input type="button" class="btn-generate" value="GENERATE" onclick="prosesAdukBbfs();"> </div> </div> </div> <div class="check-group"> <label class="check-item"><input type="checkbox" id="chk_4d" checked onchange="toggleGameSection('4d')"> 4D</label> <label class="check-item"><input type="checkbox" id="chk_3dd" checked onchange="toggleGameSection('3dd')"> 3D Depan</label> <label class="check-item"><input type="checkbox" id="chk_3db" checked onchange="toggleGameSection('3db')"> 3D Belakang</label> <label class="check-item"><input type="checkbox" id="chk_2dd" checked onchange="toggleGameSection('2dd')"> 2D Depan</label> <label class="check-item"><input type="checkbox" id="chk_2dt" checked onchange="toggleGameSection('2dt')"> 2D Tengah</label> <label class="check-item"><input type="checkbox" id="chk_2db" checked onchange="toggleGameSection('2db')"> 2D Belakang</label> </div> <div class="bbfs-table-box" id="box_4d"> <div class="bbfs-table-title">Betting 4D</div> <table class="bbfs-table"> <thead> <tr><th style="width: 25%;">Betting</th><th style="width: 20%;">Jml No</th><th style="width: 23%;">Harga Bet</th><th style="width: 12%;">Disk</th><th style="width: 20%;">Total</th></tr> </thead> <tbody> <tr> <td>4D</td><td id="count_4d">0</td> <td><input type="text" class="input-table-amt" id="amt_4d" placeholder="0" oninput="hitungGroup('4d');"></td> <td id="disk_4d">0%</td><td id="total_4d">0</td> </tr> </tbody> </table> <div class="preview-numbers" id="prev_4d">Angka: -</div> </div> <div class="bbfs-table-box" id="box_3dd"> <div class="bbfs-table-title">3D Depan</div> <table class="bbfs-table"> <thead><tr><th style="width: 25%;">Betting</th><th style="width: 20%;">Jml No</th><th style="width: 23%;">Harga Bet</th><th style="width: 12%;">Disk</th><th style="width: 20%;">Total</th></tr></thead> <tbody> <tr> <td>3D Depan</td><td id="count_3dd">0</td> <td><input type="text" class="input-table-amt" id="amt_3dd" placeholder="0" oninput="hitungGroup('3dd');"></td> <td id="disk_3dd">0%</td><td id="total_3dd">0</td> </tr> </tbody> </table> <div class="preview-numbers" id="prev_3dd">Angka: -</div> </div> <div class="bbfs-table-box" id="box_3db"> <div class="bbfs-table-title">3D Belakang</div> <table class="bbfs-table"> <thead><tr><th style="width: 25%;">Betting</th><th style="width: 20%;">Jml No</th><th style="width: 23%;">Harga Bet</th><th style="width: 12%;">Disk</th><th style="width: 20%;">Total</th></tr></thead> <tbody> <tr> <td>3D Belakang</td><td id="count_3db">0</td> <td><input type="text" class="input-table-amt" id="amt_3db" placeholder="0" oninput="hitungGroup('3db');"></td> <td id="disk_3db">0%</td><td id="total_3db">0</td> </tr> </tbody> </table> <div class="preview-numbers" id="prev_3db">Angka: -</div> </div> <div class="bbfs-table-box" id="box_2dd"> <div class="bbfs-table-title">2D Depan</div> <table class="bbfs-table"> <thead><tr><th style="width: 25%;">Betting</th><th style="width: 20%;">Jml No</th><th style="width: 23%;">Harga Bet</th><th style="width: 12%;">Disk</th><th style="width: 20%;">Total</th></tr></thead> <tbody> <tr> <td>2D Depan</td><td id="count_2dd">0</td> <td><input type="text" class="input-table-amt" id="amt_2dd" placeholder="0" oninput="hitungGroup('2dd');"></td> <td id="disk_2dd">0%</td><td id="total_2dd">0</td> </tr> </tbody> </table> <div class="preview-numbers" id="prev_2dd">Angka: -</div> </div> <div class="bbfs-table-box" id="box_2dt"> <div class="bbfs-table-title">2D Tengah</div> <table class="bbfs-table"> <thead><tr><th style="width: 25%;">Betting</th><th style="width: 20%;">Jml No</th><th style="width: 23%;">Harga Bet</th><th style="width: 12%;">Disk</th><th style="width: 20%;">Total</th></tr></thead> <tbody> <tr> <td>2D Tengah</td><td id="count_2dt">0</td> <td><input type="text" class="input-table-amt" id="amt_2dt" placeholder="0" oninput="hitungGroup('2dt');"></td> <td id="disk_2dt">0%</td><td id="total_2dt">0</td> </tr> </tbody> </table> <div class="preview-numbers" id="prev_2dt">Angka: -</div> </div> <div class="bbfs-table-box" id="box_2db"> <div class="bbfs-table-title">2D Belakang</div> <table class="bbfs-table"> <thead><tr><th style="width: 25%;">Betting</th><th style="width: 20%;">Jml No</th><th style="width: 23%;">Harga Bet</th><th style="width: 12%;">Disk</th><th style="width: 20%;">Total</th></tr></thead> <tbody> <tr> <td>2D Belakang</td><td id="count_2db">0</td> <td><input type="text" class="input-table-amt" id="amt_2db" placeholder="0" oninput="hitungGroup('2db');"></td> <td id="disk_2db">0%</td><td id="total_2db">0</td> </tr> </tbody> </table> <div class="preview-numbers" id="prev_2db">Angka: -</div> </div> <div class="summary-box"> <div class="summary-title">Total Betting Keseluruhan</div> <div class="summary-row"><span>Jumlah Nomor:</span><span id="grand_qty">0</span></div> <div class="summary-row"><span>Bet Pokok:</span><span id="grand_bet">Rp. 0</span></div> <div class="summary-row"><span>Potongan Diskon:</span><span id="grand_disk">Rp. 0</span></div> <div class="summary-row"><span>Bayar Akhir:</span><span id="grand_pay">Rp. 0</span></div> </div> <input type="button" class="btn-submit-bet" value="KIRIM TARUHAN BBFS" onclick="submitBbfs();"> </div> </div> <script> var isDiskon = true; var DISKON_RATE = { '4d': 0.66, '3dd': 0.59, '3db': 0.59, '2dd': 0.29, '2dt': 0.29, '2db': 0.29 }; var generatedData = { '4d': [], '3dd': [], '3db': [], '2dd': [], '2dt': [], '2db': [] }; document.addEventListener('DOMContentLoaded', function() { var urlParams = new URLSearchParams(window.location.search); var pasaranParam = urlParams.get('pasaran'); if (pasaranParam) { var selectPasaran = document.getElementById('pasaranTogel'); if (selectPasaran) { selectPasaran.value = pasaranParam; var event = new Event('change'); selectPasaran.dispatchEvent(event); } } }); function changeMode(status) { isDiskon = status; document.getElementById('modeNoDisk').classList.toggle('active', !status); document.getElementById('modeDisk').classList.toggle('active', status); ['4d','3dd','3db','2dd','2dt','2db'].forEach(function(type) { hitungGroup(type); }); } function toggleGameSection(type) { var checked = document.getElementById('chk_' + type).checked; var boxEl = document.getElementById('box_' + type); if (boxEl) boxEl.style.display = checked ? 'block' : 'none'; hitungGroup(type); } // ========================================================================= // FUNGSI ADUK BBFS // ========================================================================= function prosesAdukBbfs() { var rawInput = document.getElementById('bbfsInput').value; var clean = rawInput.replace(/[^0-9]/g, ''); var uniqueArr = []; for(var m = 0; m < clean.length; m++) { if(uniqueArr.indexOf(clean[m]) === -1) { uniqueArr.push(clean[m]); } } if (uniqueArr.length < 2) { alert("Harap masukkan minimal 2 digit angka pasaran, bos!"); return; } document.getElementById('bbfsInput').value = uniqueArr.join(''); generatedData = { '4d': [], '3dd': [], '3db': [], '2dd': [], '2dt': [], '2db': [] }; // Looping Kombinasi BBFS Utama for (var i = 0; i < uniqueArr.length; i++) { for (var j = 0; j < uniqueArr.length; j++) { if (i === j) continue; var n2 = uniqueArr[i] + uniqueArr[j]; generatedData['2dd'].push(n2); generatedData['2dt'].push(n2); generatedData['2db'].push(n2); for (var k = 0; k < uniqueArr.length; k++) { if (k === i || k === j) continue; var n3 = uniqueArr[i] + uniqueArr[j] + uniqueArr[k]; generatedData['3dd'].push(n3); generatedData['3db'].push(n3); for (var l = 0; l < uniqueArr.length; l++) { if (l === i || l === j || l === k) continue; var n4 = uniqueArr[i] + uniqueArr[j] + uniqueArr[k] + uniqueArr[l]; generatedData['4d'].push(n4); } } } } // Pengaman taruhan jika input angka di bawah 4 digit if (uniqueArr.length < 4) { for (var a = 0; a < uniqueArr.length; a++) { for (var b = 0; b < uniqueArr.length; b++) { for (var c = 0; c < uniqueArr.length; c++) { for (var d = 0; d < uniqueArr.length; d++) { var custom4d = uniqueArr[a] + uniqueArr[b] + uniqueArr[c] + uniqueArr[d]; generatedData['4d'].push(custom4d); } } } } } // Saring duplikasi & tampilkan semua nomor secara utuh ke kolom tabel ['4d','3dd','3db','2dd','2dt','2db'].forEach(function(type) { generatedData[type] = generatedData[type].filter(function(item, pos, self) { return self.indexOf(item) == pos; }); var countEl = document.getElementById('count_' + type); if(countEl) countEl.textContent = generatedData[type].length; var prevEl = document.getElementById('prev_' + type); if(prevEl) { if(generatedData[type].length > 0) { prevEl.textContent = "Angka: " + generatedData[type].join(', '); } else { prevEl.textContent = "Angka: -"; } } hitungGroup(type); }); } function hitungGroup(type) { var chkEl = document.getElementById('chk_' + type); var isChecked = chkEl ? chkEl.checked : false; var qty = isChecked ? generatedData[type].length : 0; var amtEl = document.getElementById('amt_' + type); var rawAmt = amtEl ? amtEl.value : '0'; var hargaBet = parseInt(rawAmt.replace(/[^0-9]/g, '')) || 0; var diskEl = document.getElementById('disk_' + type); var totalEl = document.getElementById('total_' + type); if (qty === 0 || hargaBet <= 0) { if(diskEl) diskEl.textContent = isDiskon ? Math.round(DISKON_RATE[type] * 100) + '%' : '0%'; if(totalEl) totalEl.textContent = '0'; hitungGrandTotal(); return; } var rate = isDiskon ? DISKON_RATE[type] : 0; if(diskEl) diskEl.textContent = Math.round(rate * 100) + '%'; var totalKotor = qty * hargaBet; var totalDiskon = Math.floor(totalKotor * rate); var totalBersih = totalKotor - totalDiskon; if(totalEl) totalEl.textContent = totalBersih.toLocaleString('id-ID'); hitungGrandTotal(); } function hitungGrandTotal() { var grandQty = 0, grandBet = 0, grandDisk = 0, grandPay = 0; var types = ['4d','3dd','3db','2dd','2dt','2db']; for(var x = 0; x < types.length; x++) { var type = types[x]; var chkEl = document.getElementById('chk_' + type); var isChecked = chkEl ? chkEl.checked : false; if (isChecked) { var qty = generatedData[type].length; var amtEl = document.getElementById('amt_' + type); var rawAmt = amtEl ? amtEl.value : '0'; var hargaBet = parseInt(rawAmt.replace(/[^0-9]/g, '')) || 0; var rate = isDiskon ? DISKON_RATE[type] : 0; if (qty > 0 && hargaBet > 0) { var kotor = qty * hargaBet; var diskon = Math.floor(kotor * rate); var bersih = kotor - diskon; grandQty += qty; grandBet += kotor; grandDisk += diskon; grandPay += bersih; } } } if(document.getElementById('grand_qty')) document.getElementById('grand_qty').textContent = grandQty.toLocaleString('id-ID'); if(document.getElementById('grand_bet')) document.getElementById('grand_bet').textContent = 'Rp. ' + grandBet.toLocaleString('id-ID'); if(document.getElementById('grand_disk')) document.getElementById('grand_disk').textContent = 'Rp. ' + grandDisk.toLocaleString('id-ID'); if(document.getElementById('grand_pay')) document.getElementById('grand_pay').textContent = 'Rp. ' + grandPay.toLocaleString('id-ID'); } // ========================================================================= // FUNGSI SUBMIT SINKRONISASI TOTAL 100% DENGAN PROSES_BET.PHP // ========================================================================= function submitBbfs() { var pasaran = document.getElementById('pasaranTogel').value; if (!pasaran) { alert('Silakan pilih pasaran togel terlebih dahulu, Bos!'); return; } var itemsToSubmit = []; var hasValidBet = false; // --- 1. PROSES KHUSUS GAME 4D (DIPAKSA MASUK) --- var amt4dEl = document.getElementById('amt_4d'); if (amt4dEl) { var harga4d = parseInt(amt4dEl.value.replace(/[^0-9]/g, '')) || 0; var list4d = generatedData['4d'] || []; if (harga4d >= 100 && list4d.length > 0) { hasValidBet = true; var rate4d = isDiskon ? DISKON_RATE['4d'] : 0; list4d.forEach(function(no4d) { var pot4d = Math.floor(harga4d * rate4d); var bayar4d = harga4d - pot4d; itemsToSubmit.push({ nomor: String(no4d).trim(), nominal: parseInt(harga4d), diskon: Math.round(rate4d * 100) + '%', bayar: parseInt(bayar4d), game: '4D' // Dikunci huruf besar sesuai DB }); }); } } // --- 2. PROSES GAME Lainnya (3D & 2D) --- var sisaTypes = ['3dd', '3db', '2dd', '2dt', '2db']; var GAME_MAP = { '3dd': '3D DEPAN', '3db': '3D BELAKANG', '2dd': '2D DEPAN', '2dt': '2D TENGAH', '2db': '2D BELAKANG' }; sisaTypes.forEach(function(type) { var chkEl = document.getElementById('chk_' + type); if (chkEl && chkEl.checked) { var amtEl = document.getElementById('amt_' + type); var rawAmt = amtEl ? amtEl.value : '0'; var hargaBet = parseInt(rawAmt.replace(/[^0-9]/g, '')) || 0; var listAngka = generatedData[type] || []; if (hargaBet >= 100 && listAngka.length > 0) { hasValidBet = true; var rate = isDiskon ? DISKON_RATE[type] : 0; listAngka.forEach(function(nomorFinal) { var potongan = Math.floor(hargaBet * rate); var bayarMurni = hargaBet - potongan; itemsToSubmit.push({ nomor: String(nomorFinal).trim(), nominal: parseInt(hargaBet), diskon: Math.round(rate * 100) + '%', bayar: parseInt(bayarMurni), game: GAME_MAP[type] }); }); } } }); // --- VALIDASI TOTAL DATA --- if (!hasValidBet || itemsToSubmit.length === 0) { alert('Masukkan harga bet minimal 100 dan pastikan sudah klik tombol GENERATE/ADUK BBFS!'); return; } if (!confirm('Kirim total ' + itemsToSubmit.length + ' yakin mau melanjutkan taruhan ini?')) { return; } // Eksekusi kirim JSON massal ke backend PHP fetch('function/proses_bet.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ pasaran: pasaran, mode: isDiskon ? 'DISKON' : 'NO DISKON', bets: itemsToSubmit }) }) .then(function(res) { return res.json(); }) .then(function(data) { if (data.status === 'success') { alert(data.message); window.location.href = 'history_togel.php'; } else { alert('Gagal Memproses Betting: ' + data.message); } }) .catch(function(err) { console.error('Error:', err); alert('Terjadi gangguan komunikasi dengan gateway server bbfs.'); }); } </script> <script> document.addEventListener('DOMContentLoaded', function() { // 1. Ambil nama pasaran dari parameter URL (?pasaran=...) var urlParams = new URLSearchParams(window.location.search); var pasaranParam = urlParams.get('pasaran'); // 2. Jika parameter ditemukan di URL, tembak langsung ke dropdown pasaranTogel if (pasaranParam) { var selectPasaran = document.getElementById('pasaranTogel'); if (selectPasaran) { selectPasaran.value = pasaranParam; // Trigger event change jika sistem backend/situs Anda butuh mendeteksi perubahan pasaran var event = new Event('change'); selectPasaran.dispatchEvent(event); } } // 3. Amankan Link Tombol GAMES 4D agar Pasaran Tidak Hilang saat Berpindah Halaman var btnGames4D = document.getElementById('btn-games-4d'); if (btnGames4D) { btnGames4D.addEventListener('click', function() { // Ambil pasaran terbaru (bisa dari URL saat ini, atau langsung dari dropdown yang sedang terpilih) var currentPasaran = pasaranParam; // Jika di URL kosong tapi user sempat memilih di dropdown, ambil dari dropdown var selectPasaran = document.getElementById('pasaranTogel'); if (selectPasaran && selectPasaran.value) { currentPasaran = selectPasaran.value; } // Jika pasaran ada nilainya, bawa parameternya. Jika tidak, ke betting.php biasa if (currentPasaran) { window.location.href = 'betting.php?pasaran=' + encodeURIComponent(currentPasaran); } else { window.location.href = 'betting.php'; } }); } }); </script> <script> document.addEventListener("DOMContentLoaded", function() { // 1. Ambil nama file dari URL (misal: poltar.php) var path = window.location.pathname; var page = path.split("/").pop(); // 2. Hapus semua class active terlebih dahulu (reset) var buttons = document.querySelectorAll(".btn-bet-mode"); buttons.forEach(btn => btn.classList.remove("active")); // 3. Tambahkan class active berdasarkan halaman yang cocok if (page === "betting.php") { document.getElementById("menu-betting").classList.add("active"); } else if (page === "bbfs.php") { document.getElementById("menu-bbfs").classList.add("active"); } else if (page === "poltar.php") { document.getElementById("menu-poltar").classList.add("active"); } }); </script> <?php include 'template/footer.php';
SIMPAN PERUBAHAN