diff --git a/admin.php b/admin.php
index ba05005..9200c6c 100644
--- a/admin.php
+++ b/admin.php
@@ -4,7 +4,6 @@ require_once __DIR__ . '/db/config.php';
$pdo = db();
-// Ensure user is admin
if (!isset($_SESSION['user_id'])) {
header('Location: index.php');
exit;
@@ -19,7 +18,6 @@ if ($user['role'] !== 'admin') {
$action = $_GET['action'] ?? 'dashboard';
-// Handle Actions
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if ($action === 'confirm_recharge') {
$id = $_POST['id'];
@@ -38,208 +36,241 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$id = $_POST['id'];
$stmt = $pdo->prepare("UPDATE recharges SET status = 'rejected' WHERE id = ?");
$stmt->execute([$id]);
- } elseif ($action === 'reply_support') {
- $user_id = $_POST['user_id'];
- $message = $_POST['message'];
- $stmt = $pdo->prepare("INSERT INTO support_messages (user_id, sender, message) VALUES (?, 'admin', ?)");
- $stmt->execute([$user_id, $message]);
} elseif ($action === 'update_settings') {
foreach ($_POST['settings'] as $key => $value) {
- $stmt = $pdo->prepare("UPDATE settings SET setting_value = ? WHERE setting_key = ?");
- $stmt->execute([$value, $key]);
+ $stmt = $pdo->prepare("INSERT INTO settings (setting_key, setting_value) VALUES (?, ?) ON DUPLICATE KEY UPDATE setting_value = ?");
+ $stmt->execute([$key, $value, $value]);
}
}
}
-// Fetch Data
$stats = [
'users' => $pdo->query("SELECT COUNT(*) FROM users")->fetchColumn(),
'pending_recharges' => $pdo->query("SELECT COUNT(*) FROM recharges WHERE status = 'pending'")->fetchColumn(),
'total_orders' => $pdo->query("SELECT COUNT(*) FROM sms_orders")->fetchColumn(),
+ 'total_balance' => $pdo->query("SELECT SUM(balance) FROM users")->fetchColumn(),
];
$pending_recharges = $pdo->query("SELECT r.*, u.username FROM recharges r JOIN users u ON r.user_id = u.id WHERE r.status = 'pending' ORDER BY r.created_at DESC")->fetchAll();
-$support_requests = $pdo->query("SELECT m.*, u.username FROM support_messages m JOIN users u ON m.user_id = u.id WHERE m.sender = 'user' AND m.id IN (SELECT MAX(id) FROM support_messages GROUP BY user_id) ORDER BY m.created_at DESC")->fetchAll();
-$settings = $pdo->query("SELECT * FROM settings")->fetchAll(PDO::FETCH_KEY_PAIR);
+$settings = $pdo->query("SELECT setting_key, setting_value FROM settings")->fetchAll(PDO::FETCH_KEY_PAIR);
?>
- 管理后台 - 全球接码
+ 管理后台 - = htmlspecialchars($settings['site_name'] ?? '全球接码') ?>
-
+
-
+
= [
- 'dashboard' => '数据大盘',
- 'recharges' => '充值申请列表',
- 'support' => '用户咨询回复',
- 'settings' => '全局系统设置'
+ 'dashboard' => '核心数据概览',
+ 'recharges' => '充值审核中心',
+ 'settings' => '系统全局参数配置'
][$action] ?>
-
系统时间: = date('Y-m-d H:i') ?>
-
-
-
-
注册用户总量
-
= $stats['users'] ?>
+
+
+
+
注册用户总量
+
= number_format($stats['users']) ?>
-
-
-
待审核充值
-
= $stats['pending_recharges'] ?>
+
+
+
待审核充值
+
= number_format($stats['pending_recharges']) ?>
-
-
-
累计成交订单
-
= $stats['total_orders'] ?>
+
+
+
累计接码订单
+
= number_format($stats['total_orders']) ?>
+
+
+
+
+
系统用户总余额
+
$= number_format($stats['total_balance'], 2) ?>
-
+
-
+
- | 用户名 |
- 申请金额 |
- 交易 TXID |
- 提交时间 |
- 操作决策 |
+ 用户信息 / USER |
+ 申请金额 / AMOUNT |
+ 交易 TXID / HASH |
+ 提交时间 / TIME |
+ 管理操作 / ACTION |
- | = htmlspecialchars($r['username']) ?> |
- $= $r['amount'] ?> |
- = htmlspecialchars($r['txid']) ?> |
- = $r['created_at'] ?> |
-
- |
- | 暂无待处理充值 |
+ | 目前暂无任何待处理的充值申请 |
-
-
-
-
-
-
-
= htmlspecialchars($s['username']) ?>
- = $s['created_at'] ?>
-
-
- = htmlspecialchars($s['message']) ?>
-
-
+
+
+
-
-
-