diff --git a/admin/kyc.php b/admin/kyc.php index 8a4d1bd..298a796 100644 --- a/admin/kyc.php +++ b/admin/kyc.php @@ -119,15 +119,15 @@ if ($user_id) {

正面照

- +

反面照

- +

手持照

- +
diff --git a/database_full_fixed.sql b/database_full_fixed.sql deleted file mode 100644 index 7cf968a..0000000 --- a/database_full_fixed.sql +++ /dev/null @@ -1,320 +0,0 @@ -/*M!999999\- enable the sandbox mode */ --- MariaDB dump 10.19 Distrib 10.11.14-MariaDB, for debian-linux-gnu (x86_64) --- --- Host: 127.0.0.1 Database: app_38451 --- ------------------------------------------------------ --- Server version 10.11.14-MariaDB-0+deb12u2 - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8mb4 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - -SET FOREIGN_KEY_CHECKS = 0; - --- --- Table structure for table `admins` --- -DROP TABLE IF EXISTS `admins`; -CREATE TABLE `admins` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `username` varchar(50) NOT NULL, - `password_hash` varchar(255) NOT NULL, - `role` varchar(20) DEFAULT 'admin', - `created_at` timestamp NULL DEFAULT current_timestamp(), - `is_agent` tinyint(4) DEFAULT 0, - `permissions` text DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `username` (`username`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -INSERT INTO `admins` (`id`, `username`, `password_hash`, `role`) VALUES (1,'admin','$2y$10$uJvcqHNb.naRWj.apBapi.C.fF2zaIbMhYEtVdGmmVUWZkQi9ESfe','admin'); - --- --- Table structure for table `binary_orders` --- -DROP TABLE IF EXISTS `binary_orders`; -CREATE TABLE `binary_orders` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `user_id` int(11) NOT NULL, - `symbol` varchar(20) NOT NULL, - `direction` varchar(10) DEFAULT NULL, - `amount` decimal(20,8) NOT NULL, - `duration` int(11) NOT NULL, - `profit_rate` decimal(5,2) NOT NULL, - `entry_price` decimal(20,8) NOT NULL, - `close_price` decimal(20,8) DEFAULT NULL, - `status` enum('pending','won','lost','cancelled') DEFAULT 'pending', - `control_status` tinyint(4) DEFAULT 0, - `created_at` timestamp NULL DEFAULT current_timestamp(), - `end_at` timestamp NULL DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Table structure for table `contract_orders` --- -DROP TABLE IF EXISTS `contract_orders`; -CREATE TABLE `contract_orders` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `user_id` int(11) NOT NULL, - `symbol` varchar(20) NOT NULL, - `type` enum('limit','market') DEFAULT 'market', - `direction` varchar(10) DEFAULT NULL, - `leverage` int(11) DEFAULT 1, - `amount` decimal(20,8) NOT NULL, - `entry_price` decimal(20,8) DEFAULT NULL, - `close_price` decimal(20,8) DEFAULT NULL, - `status` enum('open','closed','cancelled') DEFAULT 'open', - `profit` decimal(20,8) DEFAULT 0.00000000, - `control_status` tinyint(4) DEFAULT 0, - `created_at` timestamp NULL DEFAULT current_timestamp(), - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Table structure for table `exchange_records` --- -DROP TABLE IF EXISTS `exchange_records`; -CREATE TABLE `exchange_records` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `user_id` int(11) NOT NULL, - `from_symbol` varchar(10) NOT NULL, - `to_symbol` varchar(10) NOT NULL, - `from_amount` decimal(20,8) NOT NULL, - `to_amount` decimal(20,8) NOT NULL, - `rate` decimal(20,8) NOT NULL, - `created_at` timestamp NULL DEFAULT current_timestamp(), - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Table structure for table `finance_requests` --- -DROP TABLE IF EXISTS `finance_requests`; -CREATE TABLE `finance_requests` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `user_id` int(11) NOT NULL, - `type` enum('recharge','withdrawal') NOT NULL, - `amount` decimal(20,8) NOT NULL, - `symbol` varchar(10) DEFAULT 'USDT', - `status` enum('pending','approved','rejected') DEFAULT 'pending', - `payment_method` varchar(50) DEFAULT NULL, - `payment_details` text DEFAULT NULL, - `rejection_reason` text DEFAULT NULL, - `tx_hash` varchar(255) DEFAULT NULL, - `created_at` timestamp NULL DEFAULT current_timestamp(), - `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - `fiat_amount` decimal(20,2) DEFAULT NULL, - `fiat_currency` varchar(10) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Table structure for table `messages` --- -DROP TABLE IF EXISTS `messages`; -CREATE TABLE `messages` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `user_id` int(11) DEFAULT NULL, - `admin_id` int(11) DEFAULT NULL, - `sender` enum('user','admin') DEFAULT NULL, - `message` text DEFAULT NULL, - `ip_address` varchar(45) DEFAULT NULL, - `created_at` timestamp NULL DEFAULT current_timestamp(), - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Table structure for table `price_controls` --- -DROP TABLE IF EXISTS `price_controls`; -CREATE TABLE `price_controls` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `symbol` varchar(20) NOT NULL, - `target_price` decimal(20,8) NOT NULL, - `execution_time` timestamp NOT NULL, - `duration` int(11) DEFAULT 60, - `created_at` timestamp NULL DEFAULT current_timestamp(), - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Table structure for table `spot_orders` --- -DROP TABLE IF EXISTS `spot_orders`; -CREATE TABLE `spot_orders` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `user_id` int(11) NOT NULL, - `symbol` varchar(20) NOT NULL, - `side` enum('buy','sell') NOT NULL, - `price` decimal(20,8) DEFAULT NULL, - `amount` decimal(20,8) NOT NULL, - `filled` decimal(20,8) DEFAULT 0.00000000, - `status` enum('pending','filled','cancelled') DEFAULT 'pending', - `created_at` timestamp NULL DEFAULT current_timestamp(), - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Table structure for table `staking_records` --- -DROP TABLE IF EXISTS `staking_records`; -CREATE TABLE `staking_records` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `user_id` int(11) NOT NULL, - `plan_name` varchar(100) NOT NULL, - `amount` decimal(20,8) NOT NULL, - `symbol` varchar(10) DEFAULT 'USDT', - `daily_profit` decimal(5,2) NOT NULL, - `period` int(11) NOT NULL, - `status` enum('running','ended') DEFAULT 'running', - `start_date` date NOT NULL, - `end_date` date NOT NULL, - `created_at` timestamp NULL DEFAULT current_timestamp(), - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Table structure for table `system_settings` --- -DROP TABLE IF EXISTS `system_settings`; -CREATE TABLE `system_settings` ( - `setting_key` varchar(50) NOT NULL, - `setting_value` text DEFAULT NULL, - PRIMARY KEY (`setting_key`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -INSERT INTO `system_settings` VALUES -('android_download_url','/downloads/byro.apk'), -('apk_download_url','/downloads/byro.apk'), -('email_verification_enabled','0'), -('ios_download_url','/downloads/byro.apk'), -('mail_from_email',''), -('mail_from_name','Byro Exchange'), -('service_link',''), -('site_logo','/assets/pasted-20260219-011659-0f2b767b.png'), -('site_name','Byro'), -('smtp_host',''), -('smtp_pass',''), -('smtp_port','587'), -('smtp_secure','tls'), -('smtp_user',''), -('usdt_bep20_address','0x742d35Cc6634C0532925a3b844Bc454e4438f44e'), -('usdt_erc20_address','0x742d35Cc6634C0532925a3b844Bc454e4438f44e'), -('usdt_protocol','TRC20'), -('usdt_recharge_address',''), -('usdt_trc20_address','TYv9V5J1P1eEwz7y3WqJg9M2yv7f7xXv3x'); - --- --- Table structure for table `transactions` --- -DROP TABLE IF EXISTS `transactions`; -CREATE TABLE `transactions` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `user_id` int(11) NOT NULL, - `type` varchar(20) NOT NULL, - `amount` decimal(20,8) NOT NULL, - `symbol` varchar(10) NOT NULL, - `status` varchar(20) DEFAULT 'completed', - `created_at` timestamp NULL DEFAULT current_timestamp(), - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Table structure for table `user_balances` --- -DROP TABLE IF EXISTS `user_balances`; -CREATE TABLE `user_balances` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `user_id` int(11) NOT NULL, - `symbol` varchar(10) NOT NULL, - `available` decimal(20,8) DEFAULT 0.00000000, - `frozen` decimal(20,8) DEFAULT 0.00000000, - PRIMARY KEY (`id`), - UNIQUE KEY `user_id` (`user_id`,`symbol`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Table structure for table `users` --- -DROP TABLE IF EXISTS `users`; -CREATE TABLE `users` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `username` varchar(50) DEFAULT NULL, - `email` varchar(100) DEFAULT NULL, - `password_hash` varchar(255) NOT NULL, - `created_at` timestamp NULL DEFAULT current_timestamp(), - `uid` varchar(20) DEFAULT NULL, - `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, - `kyc_id_number` varchar(50) DEFAULT NULL, - `kyc_photo_front` varchar(255) DEFAULT NULL, - `kyc_photo_back` varchar(255) DEFAULT NULL, - `kyc_photo_handheld` varchar(255) DEFAULT NULL, - `kyc_status` int(11) DEFAULT 0, - `registration_ip` varchar(45) DEFAULT NULL, - `status` enum('normal','frozen') DEFAULT 'normal', - `win_loss_control` tinyint(4) DEFAULT 0, - `remark` text DEFAULT NULL, - `kyc_rejection_reason` text DEFAULT NULL, - `agent_id` int(11) DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `username` (`username`), - UNIQUE KEY `email` (`email`), - UNIQUE KEY `uid` (`uid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Table structure for table `mining_orders` --- -DROP TABLE IF EXISTS `mining_orders`; -CREATE TABLE `mining_orders` ( - `id` INT AUTO_INCREMENT PRIMARY KEY, - `user_id` INT NOT NULL, - `symbol` VARCHAR(10) NOT NULL, - `pool_name` VARCHAR(100) NOT NULL, - `amount` DECIMAL(20, 8) NOT NULL, - `apy` DECIMAL(10, 4) NOT NULL, - `period` VARCHAR(20) NOT NULL, - `status` VARCHAR(20) DEFAULT 'running', - `start_time` DATETIME DEFAULT CURRENT_TIMESTAMP, - `end_time` DATETIME, - `last_payout` DATETIME DEFAULT CURRENT_TIMESTAMP, - `total_profit` DECIMAL(20, 8) DEFAULT 0 -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Table structure for table `chat_visitors` --- -DROP TABLE IF EXISTS `chat_visitors`; -CREATE TABLE `chat_visitors` ( - `user_id` int(11) NOT NULL, - `ip_address` varchar(45) NOT NULL, - `last_ping` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - PRIMARY KEY (`user_id`,`ip_address`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - --- --- Table structure for table `chat_remarks` --- -DROP TABLE IF EXISTS `chat_remarks`; -CREATE TABLE `chat_remarks` ( - `user_id` int(11) NOT NULL, - `ip_address` varchar(45) NOT NULL, - `remark` text DEFAULT NULL, - PRIMARY KEY (`user_id`,`ip_address`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -SET FOREIGN_KEY_CHECKS = 1; diff --git a/kyc.php b/kyc.php index 034a19a..eb8be9a 100644 --- a/kyc.php +++ b/kyc.php @@ -27,20 +27,20 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_FILES['photo_front']) && $_FILES['photo_front']['error'] === 0) { $ext = pathinfo($_FILES['photo_front']['name'], PATHINFO_EXTENSION); - $front = $uploadDir . $user['id'] . '_front_' . time() . '.' . $ext; - move_uploaded_file($_FILES['photo_front']['tmp_name'], $front); + $front = '/' . $uploadDir . $user['id'] . '_front_' . time() . '.' . $ext; + move_uploaded_file($_FILES['photo_front']['tmp_name'], ltrim($front, '/')); } if (isset($_FILES['photo_back']) && $_FILES['photo_back']['error'] === 0) { $ext = pathinfo($_FILES['photo_back']['name'], PATHINFO_EXTENSION); - $back = $uploadDir . $user['id'] . '_back_' . time() . '.' . $ext; - move_uploaded_file($_FILES['photo_back']['tmp_name'], $back); + $back = '/' . $uploadDir . $user['id'] . '_back_' . time() . '.' . $ext; + move_uploaded_file($_FILES['photo_back']['tmp_name'], ltrim($back, '/')); } if (isset($_FILES['photo_handheld']) && $_FILES['photo_handheld']['error'] === 0) { $ext = pathinfo($_FILES['photo_handheld']['name'], PATHINFO_EXTENSION); - $handheld = $uploadDir . $user['id'] . '_handheld_' . time() . '.' . $ext; - move_uploaded_file($_FILES['photo_handheld']['tmp_name'], $handheld); + $handheld = '/' . $uploadDir . $user['id'] . '_handheld_' . time() . '.' . $ext; + move_uploaded_file($_FILES['photo_handheld']['tmp_name'], ltrim($handheld, '/')); } if (empty($real_name) || empty($id_number)) {