پنل مدیریت زنده پایگاه داده
در حال دریافت...
در حال دریافت...
در حال دریافت...
در حال دریافت...
اکانتهای موجود در جدول accounts (دیتابیس ربات)
۰ خط| ID | شماره تلفن | کشور | هزینه خرید | رمز ۲FA | عملیات |
|---|---|---|---|---|---|
| در حال لود اطلاعات از دیتابیس... | |||||
set_charset("utf8mb4"); $db_connected = !$mysqli->connect_error; // رمز عبور پیشفرض پنل مدیریت (قابل تغییر از داخل سورس یا تنظیمات) define('ADMIN_PASSWORD', 'admin1234'); // مدیریت ورود / خروج ادمین if (isset($_POST['action']) && $_POST['action'] === 'do_login') { header('Content-Type: application/json; charset=utf-8'); $pass = $_POST['password'] ?? ''; if ($pass === ADMIN_PASSWORD) { $_SESSION['admin_auth'] = true; echo json_encode(['ok' => true]); } else { echo json_encode(['ok' => false, 'error' => 'رمز عبور وارد شده اشتباه است.']); } exit; } if (isset($_GET['logout'])) { unset($_SESSION['admin_auth']); header('Location: index.php'); exit; } $is_logged_in = isset($_SESSION['admin_auth']) && $_SESSION['admin_auth'] === true; // ----------------- بخش پردازش درخواستهای دیتابیس (API Endpoints) ----------------- if ($is_logged_in && isset($_GET['api'])) { header('Content-Type: application/json; charset=utf-8'); if (!$db_connected) { echo json_encode(['ok' => false, 'error' => 'خطای اتصال به دیتابیس: ' . $mysqli->connect_error]); exit; } $api = $_GET['api']; // ۱. استعلام آمار داشبورد if ($api === 'stats') { $stats = [ 'total_users' => 0, 'total_balance' => 0, 'stock_ready' => 0, 'net_profit' => 0, 'pending_payouts' => 0, 'pending_deposits' => 0 ]; // تعداد و موجودی کاربران $r1 = $mysqli->query("SELECT COUNT(*) AS c, IFNULL(SUM(balance), 0) AS b FROM shop_users"); if ($r1 && $row = $r1->fetch_assoc()) { $stats['total_users'] = (int)$row['c']; $stats['total_balance'] = (int)$row['b']; } // اکانتهای آماده انبار $r2 = $mysqli->query("SELECT COUNT(*) AS c FROM accounts WHERE status = 'available'"); if ($r2 && $row = $r2->fetch_assoc()) { $stats['stock_ready'] = (int)$row['c']; } // سود خالص $r3 = $mysqli->query("SELECT IFNULL(SUM(price - buy_price), 0) AS p FROM shop_orders WHERE status = 'completed'"); if ($r3 && $row = $r3->fetch_assoc()) { $stats['net_profit'] = (int)$row['p']; } // درخواستهای تسویه معلق $r4 = $mysqli->query("SELECT COUNT(*) AS c FROM shop_payouts WHERE status = 'pending'"); if ($r4 && $row = $r4->fetch_assoc()) { $stats['pending_payouts'] = (int)$row['c']; } // فیشهای شارژ معلق $r5 = $mysqli->query("SELECT COUNT(*) AS c FROM shop_deposits WHERE status = 'pending'"); if ($r5 && $row = $r5->fetch_assoc()) { $stats['pending_deposits'] = (int)$row['c']; } echo json_encode(['ok' => true, 'data' => $stats]); exit; } // ۲. دریافت انبار اکانتها if ($api === 'inventory') { $list = []; $res = $mysqli->query("SELECT id, phone_number, country_code, buy_cost, two_factor_pass, is_spammed, status, created_at FROM accounts WHERE status = 'available' ORDER BY id DESC LIMIT 100"); if ($res) { while ($row = $res->fetch_assoc()) { $list[] = $row; } } echo json_encode(['ok' => true, 'data' => $list]); exit; } // ۳. حذف یک خط از انبار if ($api === 'delete_account' && $_SERVER['REQUEST_METHOD'] === 'POST') { $id = (int)($_POST['id'] ?? 0); if ($id > 0) { $mysqli->query("DELETE FROM accounts WHERE id = $id"); echo json_encode(['ok' => true]); } else { echo json_encode(['ok' => false, 'error' => 'شناسه نامعتبر است.']); } exit; } // ۴. دریافت تنظیمات if ($api === 'get_settings') { $settings = []; $res = $mysqli->query("SELECT key_name, value_text FROM shop_settings"); if ($res) { while ($row = $res->fetch_assoc()) { $settings[$row['key_name']] = $row['value_text']; } } echo json_encode(['ok' => true, 'data' => $settings]); exit; } // ۵. ذخیره تنظیمات if ($api === 'save_settings' && $_SERVER['REQUEST_METHOD'] === 'POST') { $data = json_decode(file_get_contents('php://input'), true); if (is_array($data)) { foreach ($data as $key => $val) { $k = $mysqli->real_escape_string($key); $v = $mysqli->real_escape_string($val); $mysqli->query("INSERT INTO shop_settings (key_name, value_text) VALUES ('$k', '$v') ON DUPLICATE KEY UPDATE value_text = '$v'"); } echo json_encode(['ok' => true]); } else { echo json_encode(['ok' => false]); } exit; } // ۶. دریافت کشورها if ($api === 'countries') { $countries = []; $res = $mysqli->query("SELECT * FROM shop_countries ORDER BY id DESC"); if ($res) { while ($row = $res->fetch_assoc()) { $countries[] = $row; } } echo json_encode(['ok' => true, 'data' => $countries]); exit; } // ۷. استعلام کاربر if ($api === 'search_user') { $uid = (int)($_GET['user_id'] ?? 0); $res = $mysqli->query("SELECT * FROM shop_users WHERE user_id = $uid LIMIT 1"); if ($res && $user = $res->fetch_assoc()) { echo json_encode(['ok' => true, 'data' => $user]); } else { echo json_encode(['ok' => false, 'error' => 'کاربری با این شناسه یافت نشد.']); } exit; } // ۸. تغییر موجودی کاربر if ($api === 'edit_balance' && $_SERVER['REQUEST_METHOD'] === 'POST') { $uid = (int)($_POST['user_id'] ?? 0); $amount = (int)($_POST['amount'] ?? 0); $action = $_POST['action_type'] ?? 'add'; if ($uid > 0 && $amount > 0) { if ($action === 'add') { $mysqli->query("UPDATE shop_users SET balance = balance + $amount WHERE user_id = $uid"); } else { $mysqli->query("UPDATE shop_users SET balance = GREATEST(0, balance - $amount) WHERE user_id = $uid"); } echo json_encode(['ok' => true]); } else { echo json_encode(['ok' => false, 'error' => 'پارامترهای ارسالی نامعتبر است.']); } exit; } echo json_encode(['ok' => false, 'error' => 'دستور نامعتبر']); exit; } ?>
اتصال مستقیم به دیتابیس MySQL: متصل' : 'خطا در اتصال'; ?>
admin1234
| ID | شماره تلفن | کشور | هزینه خرید | رمز ۲FA | عملیات |
|---|---|---|---|---|---|
| در حال لود اطلاعات از دیتابیس... | |||||