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: import_games.phpSGX#
<?php error_reporting(E_ALL); ini_set('display_errors', 1); set_time_limit(180); include 'db/koneksi.php'; include 'api/sgx.php'; header('Content-Type: text/html; charset=utf-8'); echo " <style> body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background: #f8fafc; color: #1e293b; padding: 30px; } .card { background: #ffffff; padding: 25px; border-radius: 8px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); max-width: 600px; margin: 0 auto; } .form-group { margin-bottom: 20px; } label { display: block; font-weight: bold; margin-bottom: 8px; font-size: 14px; } select { width: 100%; padding: 10px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 16px; background: #fff; } button { width: 100%; padding: 12px; background: #f59e0b; border: none; color: #000; font-weight: bold; font-size: 16px; border-radius: 6px; cursor: pointer; transition: 0.2s; } button:hover { background: #d97706; } .log-box { background: #0f172a; color: #38bdf8; padding: 20px; border-radius: 6px; font-family: monospace; font-size: 13px; line-height: 1.6; max-width: 600px; margin: 20px auto 0 auto; overflow-x: auto; } hr { border: 0; border-top: 1px solid #e2e8f0; margin: 20px 0; } </style> "; // ========================================== // 1. TARIK DAFTAR PROVIDER UNTUK DROP-DOWN // ========================================== $prov_raw = $SGX->getprovider(); $prov_res = json_decode($prov_raw, true); $providers = []; if (isset($prov_res['status']) && $prov_res['status'] == 200 && isset($prov_res['data']['providers'])) { foreach ($prov_res['data']['providers'] as $p) { $status = $p['provider_status'] ?? 0; $code = $p['provider_code'] ?? ''; $name = $p['provider_name'] ?? ''; if (!empty($code)) { $providers[] = [ 'code' => $code, 'name' => $name, 'status' => $status ]; } } } else { die("<div class='card' style='color:red;'>Gagal mengambil daftar provider dari API SGX.</div>"); } // ========================================== // 2. FORM TAMPILAN DASHBOARD UTAMA // ========================================== echo "<div class='card'>"; echo "<h2>🎯 SGX Game Importer (Manual Mode V3)</h2>"; echo "<p style='color:#64748b; font-size:14px;'>Pilih provider di bawah ini untuk menyinkronkan data game terbaru.</p>"; echo "<hr>"; echo "<form action='import_games.php' method='POST'>"; echo "<div class='form-group'>"; echo "<label for='provider_select'>Silakan Pilih Provider Game:</label>"; echo "<select name='selected_provider' id='provider_select' required>"; echo "<option value=''>-- Pilih Provider --</option>"; foreach ($providers as $prov) { $label_status = ($prov['status'] == 0) ? " (Nonaktif)" : ""; $selected = (isset($_POST['selected_provider']) && $_POST['selected_provider'] === "{$prov['code']}|{$prov['name']}") ? "selected" : ""; echo "<option value='{$prov['code']}|{$prov['name']}' {$selected}>{$prov['name']} [{$prov['code']}] {$label_status}</option>"; } echo "</select>"; echo "</div>"; echo "<button type='submit' name='proses_import'>🚀 Mulai Sinkronisasi Game</button>"; echo "</form>"; echo "</div>"; // ========================================== // 3. EKSEKUSI JIKA TOMBOL DI-KLIK (POST) // ========================================== if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['proses_import'])) { $data_input = explode('|', $_POST['selected_provider']); $provider_code = $data_input[0] ?? ''; $provider_name = $data_input[1] ?? ''; if (empty($provider_code) || empty($provider_name)) { echo "<div class='log-box' style='color:#ef4444;'>[Error] Data provider tidak valid.</div>"; exit; } echo "<div class='log-box'>"; echo "[INFO] Menghubungi API SGX Center...<br>"; echo "[INFO] Target Provider: <strong>{$provider_name} ({$provider_code})</strong><br>"; echo "--------------------------------------------------<br>"; $response_raw = $SGX->getgames($provider_code); $response = json_decode($response_raw, true); if (is_array($response) && isset($response['status']) && $response['status'] == 200) { // 🔹 SMART AUTO-DETECT STRUKTUR DATA GAME (Mendukung Slot & Sportsbook) $game_list = []; if (isset($response['data']['games']) && is_array($response['data']['games'])) { // Jalur Biasa: Jika ada sub-array 'games' (Umumnya tipe SLOT) $game_list = $response['data']['games']; } elseif (isset($response['data']) && is_array($response['data']) && !isset($response['data']['provider_code'])) { // Jalur Alternatif: Jika data berbentuk list array langsung di dalam 'data' $game_list = $response['data']; } elseif (isset($response['data']) && is_array($response['data']) && isset($response['data']['provider_code'])) { // Jalur Sportsbook/Casino: Jika 'data' bukan berupa list melainkan langsung 1 baris objek data provider itu sendiri $game_list = [$response['data']]; } else { // Fallback terakhir, jadikan response utama pembungkusnya $game_list = $response; } if (!empty($game_list) && is_array($game_list)) { $stmt = $koneksi->prepare(" INSERT INTO tb_game (provider_name, game_provider, game_name, game_code, game_type, game_image, game_status, seq, source) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATE game_name = VALUES(game_name), game_type = VALUES(game_type), game_image = VALUES(game_image), game_status = VALUES(game_status) "); $inserted_count = 0; foreach ($game_list as $index => $game) { // Lewati elemen status bawaan json if (in_array($index, ['status', 'msg', 'message', 'code', 'error']) || !is_array($game)) { continue; } // Pemetaan penamaan key item game $game_name = $game['game_name'] ?? $game['name'] ?? $provider_name; $game_code = $game['game_code'] ?? $game['code'] ?? $game['provider_code'] ?? ''; $game_type = $game['game_type'] ?? $game['type'] ?? 'SPORTS'; $game_image = $game['game_image'] ?? $game['image'] ?? $game['provider_image'] ?? ''; $game_status = "1"; $source = "SGX"; $seq = ($index === 0 || !is_numeric($index)) ? 1 : $index + 1; if (empty($game_code)) { continue; } $stmt->bind_param( "sssssssis", $provider_name, $provider_code, $game_name, $game_code, $game_type, $game_image, $game_status, $seq, $source ); $stmt->execute(); $inserted_count++; } $stmt->close(); echo "<span style='color: #4ade80;'>[SUKSES] Berhasil memproses total {$inserted_count} data game untuk {$provider_name}!</span><br>"; echo "[INFO] Sinkronisasi database selesai 100%.<br>"; } else { echo "<span style='color: #a1a1aa;'>[WARNING] Daftar game kosong atau tidak ada data aktif.</span><br>"; } } else { $msg_error = $response['message'] ?? $response['msg'] ?? 'Format Respons API Salah / RTO'; echo "<span style='color: #f87171;'>[GAGAL] API menolak permintaan. Alasan: {$msg_error}</span><br>"; echo "<br><strong>Raw JSON Balikan:</strong><pre style='background:#1e293b; color:#cbd5e1; padding:10px; border-radius:5px;'>".htmlspecialchars($response_raw)."</pre>"; } echo "</div>"; } ?>
SIMPAN PERUBAHAN