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: update_saldo.php
<?php include_once __DIR__ . '/db/koneksi.php'; include_once __DIR__ . '/api/nexus.php'; include_once __DIR__ . '/api/sgx.php'; // Deteksi apakah request datang dari AJAX browser atau include file PHP biasa $is_ajax_request = (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') || (isset($_GET['format']) && $_GET['format'] === 'json'); if ($is_ajax_request) { header('Content-Type: application/json; charset=utf-8'); } error_reporting(E_ALL); ini_set('display_errors', 1); if (session_status() == PHP_SESSION_NONE) { session_start(); } $logFile = __DIR__ . '/api_result.log'; if (!function_exists('writeLog')) { function writeLog($msg, $file) { $time = date("Y-m-d H:i:s"); file_put_contents($file, "[$time] $msg\n", FILE_APPEND); } } $nama_pengguna = $_SESSION['username'] ?? null; $ext = $_SESSION['extplayer'] ?? null; $saldo_cadangan = isset($_SESSION['saldo']) ? (float)$_SESSION['saldo'] : 0; if (!$nama_pengguna) { if ($is_ajax_request) { echo json_encode(['ok' => false, 'message' => 'Belum login', 'balance' => 0, 'formatted' => 'IDR 0'], JSON_UNESCAPED_UNICODE); exit; } return; // Lewati jika dipanggil sebagai include biasa } try { // 1. AMBIL DATA SALDO DARI API NEXUS $nexusRaw = $nx->info_member($ext); $nexus = json_decode($nexusRaw); // Fallback proteksi jika API Nexus timeout / tidak merespon if (!isset($nexus->status) || $nexus->status != 1) { writeLog("NEXUS API ERROR / TIMEOUT pada user [$nama_pengguna]", $logFile); $saldo_nexus = $saldo_cadangan; } else { $saldo_nexus = (float)($nexus->user->balance ?? $nexus->balance ?? 0); } // 2. AMBIL DATA SALDO DARI API SGX $sgxRaw = $SGX->info_member($ext); $sgx = json_decode($sgxRaw); // Fallback proteksi jika API SGX timeout / tidak merespon if (!isset($sgx->status) || $sgx->status != 200) { writeLog("SGX API ERROR / TIMEOUT pada user [$nama_pengguna]", $logFile); $saldo_sgx = $saldo_cadangan; } else { $saldo_sgx = (float)($sgx->data->balance ?? $sgx->balance ?? 0); } // 3. AMBIL DATA HISTORI SALDO TERAKHIR DARI DATABASE LOKAL $stmt = $koneksi->prepare("SELECT saldo_nexus, saldo_sgx FROM tb_user WHERE username = ?"); $stmt->bind_param("s", $nama_pengguna); $stmt->execute(); $res = $stmt->get_result()->fetch_assoc(); $stmt->close(); $last_telo = isset($res['saldo_nexus']) ? (float)$res['saldo_nexus'] : $saldo_nexus; $last_sgx = isset($res['saldo_sgx']) ? (float)$res['saldo_sgx'] : $saldo_sgx; $delta_telo = $saldo_nexus - $last_telo; $delta_sgx = $saldo_sgx - $last_sgx; $finalBalance = $saldo_nexus; // 4. LOGIKA SINKRONISASI SALDO ANTAR PROVIDER GAME if (abs($delta_telo) > 0 && abs($delta_telo) >= abs($delta_sgx)) { $finalBalance = $saldo_nexus; if ($saldo_nexus > $saldo_sgx) { $diff = $saldo_nexus - $saldo_sgx; $SGX->deposit_member($ext, $diff); } elseif ($saldo_nexus < $saldo_sgx) { $diff = $saldo_sgx - $saldo_nexus; $SGX->withdraw_member($ext, $diff); } } elseif (abs($delta_sgx) > 0 && abs($delta_sgx) > abs($delta_telo)) { $finalBalance = $saldo_sgx; if ($saldo_sgx > $saldo_nexus) { $diff = $saldo_sgx - $saldo_nexus; $nx->deposit_member($ext, $diff); } elseif ($saldo_sgx < $saldo_nexus) { $diff = $saldo_nexus - $saldo_sgx; $nx->withdraw_member($ext, $diff); } } else { $finalBalance = $saldo_nexus; if ($saldo_nexus != $saldo_sgx) { $finalBalance = max($saldo_nexus, $saldo_sgx); } } // 5. UPDATE TERBARU SALDO AKTIF KE TB_USER $update = $koneksi->prepare("UPDATE tb_user SET saldo_nexus = ?, saldo_sgx = ?, saldo = ? WHERE username = ?"); $update->bind_param("ddds", $finalBalance, $finalBalance, $finalBalance, $nama_pengguna); $update->execute(); $update->close(); // Perbarui variabel global session situs agar nominal menu ikut berubah $_SESSION['saldo'] = $finalBalance; // Jika dipanggil via AJAX, muntahkan respon JSON if ($is_ajax_request) { echo json_encode([ 'ok' => true, 'balance' => $finalBalance, 'formatted' => 'IDR ' . number_format($finalBalance, 0, ',', '.') ], JSON_UNESCAPED_UNICODE); exit; } } catch (Exception $e) { writeLog("SYNC CRITICAL ERROR: " . $e->getMessage(), $logFile); if ($is_ajax_request) { echo json_encode([ 'ok' => false, 'message' => 'Terjadi kesalahan sistem internal', 'balance' => $saldo_cadangan, 'formatted' => 'IDR ' . number_format($saldo_cadangan, 0, ',', '.') ], JSON_UNESCAPED_UNICODE); exit; } } ?>
SIMPAN PERUBAHAN