@@ -427,6 +442,7 @@ function editUser(user) {
document.getElementById('edit_credit_score').value = user.credit_score;
document.getElementById('edit_status').value = user.status;
document.getElementById('edit_win_loss').value = user.win_loss_control;
+ document.getElementById('edit_vip_level').value = user.vip_level || 0;
document.getElementById('edit_remark').value = user.remark || '';
if (document.getElementById('edit_agent_id_select')) {
document.getElementById('edit_agent_id_select').value = user.agent_id || '';
diff --git a/includes/footer.php b/includes/footer.php
index c720bc1..509f3a3 100644
--- a/includes/footer.php
+++ b/includes/footer.php
@@ -137,13 +137,25 @@
+
@@ -164,7 +176,7 @@
0% { transform: scale(1); opacity: 0.5; }
100% { transform: scale(1.5); opacity: 0; }
}
-#cs-toggle:hover {
+#cs-toggle:hover, #cs-widget a:hover {
transform: scale(1.1) rotate(5deg);
box-shadow: 0 10px 25px rgba(0, 98, 255, 0.4) !important;
}
diff --git a/includes/header.php b/includes/header.php
index 62fd21e..ca2fd33 100644
--- a/includes/header.php
+++ b/includes/header.php
@@ -24,8 +24,8 @@ if (!function_exists('getSetting')) {
= $site_name ?> | = __('site_title') ?>
diff --git a/includes/lang.php b/includes/lang.php
index 19c20f3..da08b5e 100644
--- a/includes/lang.php
+++ b/includes/lang.php
@@ -281,7 +281,7 @@ $translations = [
'mission_content' => '让数字资产交易对每个人、每个地方都变得触手可及、安全且直观。我们相信区块链的力量能够改变全球金融格局。',
'global_presence' => '全球业务',
'presence_content' => 'BYRO在新加坡、伦敦和东京设有办事处,服务于多元化的全球社区。我们符合国际标准,并优先考虑用户资产的安全。',
- 'users' => '用户',
+ 'users' => '用户管理',
'countries' => '国家',
'daily_volume' => '每日交易量',
'about_content' => 'BYRO是成立于 2023 年的全球领先数字货币交易所。',
@@ -491,6 +491,20 @@ $translations = [
'mxn_name' => '墨西哥比索',
'php_name' => '菲律宾比索',
'idr_name' => '印尼盾',
+ 'platform_home' => '平台首页',
+ 'admin_panel' => '超级管理后台',
+ 'agent_panel' => '代理管理后台',
+ 'finance_management' => '充提管理',
+ 'finance_details' => '财务明细',
+ 'sec_contract_management' => '秒合约管理',
+ 'contract_trading' => '合约交易',
+ 'spot_trading' => '现货交易',
+ 'exchange_management' => '兑换管理',
+ 'mining_management' => '挖矿管理',
+ 'ai_control' => 'AI控盘',
+ 'backend_settings' => '后台设置',
+ 'personal_settings' => '个人设置',
+ 'agents' => '代理管理',
],
'en' => [
'home' => 'Home',
diff --git a/install.sql b/install.sql
index ef66cdc..3afab31 100644
--- a/install.sql
+++ b/install.sql
@@ -507,6 +507,7 @@ CREATE TABLE `users` (
`credit_score` int(11) DEFAULT 80,
`real_name_status` int(11) DEFAULT 0,
`role` varchar(20) DEFAULT 'user',
+ `vip_level` int(11) DEFAULT 0,
`total_recharge` decimal(16,4) DEFAULT 0.0000,
`transaction_password` varchar(255) DEFAULT NULL,
`kyc_name` varchar(100) DEFAULT NULL,
@@ -535,7 +536,7 @@ CREATE TABLE `users` (
LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES
-(2,'ahao8988998','ahao8988@gmail.com','$2y$10$tdT4vIgddq1kh2isoBRIPe4goiZ3X1cbf2l6vtButmyZx71xP527q','2026-02-18 02:56:51','05617613',80,0,'user',0.0000,NULL,'张世豪','123456789','uploads/kyc/2_front_1771391536.jpg','uploads/kyc/2_back_1771391536.jpg','uploads/kyc/2_handheld_1771391536.jpg',2,NULL,'normal',1,'',NULL,NULL);
+(2,'ahao8988998','ahao8988@gmail.com','$2y$10$tdT4vIgddq1kh2isoBRIPe4goiZ3X1cbf2l6vtButmyZx71xP527q','2026-02-18 02:56:51','05617613',80,0,'user',0,0.0000,NULL,'张世豪','123456789','uploads/kyc/2_front_1771391536.jpg','uploads/kyc/2_back_1771391536.jpg','uploads/kyc/2_handheld_1771391536.jpg',2,NULL,'normal',1,'',NULL,NULL);
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
diff --git a/profile.php b/profile.php
index 2ad1302..f6dab19 100644
--- a/profile.php
+++ b/profile.php
@@ -60,7 +60,10 @@ function getCoinPrice($symbol) {
return $prices[strtoupper($symbol)] ?? 1.00;
}
-function getVipLevel($totalRecharge) {
+// Use the VIP level from the database column as the source of truth
+$vipLevel = $userData['vip_level'] ?? 0;
+
+function getAutoVipLevel($totalRecharge) {
if ($totalRecharge >= 10000000) return 7;
if ($totalRecharge >= 5000000) return 6;
if ($totalRecharge >= 1000000) return 5;
@@ -71,7 +74,12 @@ function getVipLevel($totalRecharge) {
return 0;
}
-$vipLevel = getVipLevel($userData['total_recharge'] ?? 0);
+// If the database VIP level is 0, we can optionally fall back to calculation,
+// but since the admin can now set it to any level, we should respect the database.
+// However, to keep it "automatic" for new users, we can do:
+if ($vipLevel == 0) {
+ $vipLevel = getAutoVipLevel($userData['total_recharge'] ?? 0);
+}
// Fetch transactions
$stmt = db()->prepare("SELECT * FROM transactions WHERE user_id = ? ORDER BY created_at DESC LIMIT 50");