上传文件至「/」

This commit is contained in:
2026-07-23 02:18:52 +08:00
parent 066df3018a
commit 44095c5a90
5 changed files with 2688 additions and 0 deletions
+98
View File
@@ -0,0 +1,98 @@
<?php
require_once 'config.php';
// 创建数据表
try {
$pdo = new PDO("mysql:host=" . DB_HOST . ";charset=utf8mb4", DB_USER, DB_PASS);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 创建数据库
$pdo->exec("CREATE DATABASE IF NOT EXISTS " . DB_NAME);
$pdo->exec("USE " . DB_NAME);
// 用户表
$pdo->exec("CREATE TABLE IF NOT EXISTS users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) UNIQUE NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
credits INT DEFAULT 10,
invite_code VARCHAR(20) UNIQUE NOT NULL,
invited_by INT DEFAULT NULL,
is_admin TINYINT DEFAULT 0,
is_verified TINYINT DEFAULT 0,
verification_token VARCHAR(64),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
last_sign_in DATE,
INDEX idx_invite_code (invite_code),
INDEX idx_email (email),
FOREIGN KEY (invited_by) REFERENCES users(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4");
// 签到记录表
$pdo->exec("CREATE TABLE IF NOT EXISTS sign_in_logs (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
sign_in_date DATE NOT NULL,
credits_earned INT DEFAULT 2,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY unique_signin (user_id, sign_in_date),
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4");
// 域名表
$pdo->exec("CREATE TABLE IF NOT EXISTS domains (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
main_domain VARCHAR(100) NOT NULL,
subdomain VARCHAR(100) NOT NULL,
record_type VARCHAR(10) NOT NULL,
record_value VARCHAR(255) NOT NULL,
status TINYINT DEFAULT 1,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY unique_domain (main_domain, subdomain),
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
INDEX idx_user (user_id),
INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4");
// 邀请记录表
$pdo->exec("CREATE TABLE IF NOT EXISTS invite_logs (
id INT PRIMARY KEY AUTO_INCREMENT,
inviter_id INT NOT NULL,
invitee_id INT NOT NULL,
credits_earned INT DEFAULT 10,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (inviter_id) REFERENCES users(id) ON DELETE CASCADE,
FOREIGN KEY (invitee_id) REFERENCES users(id) ON DELETE CASCADE,
UNIQUE KEY unique_invitee (invitee_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4");
// 系统设置表
$pdo->exec("CREATE TABLE IF NOT EXISTS settings (
setting_key VARCHAR(50) PRIMARY KEY,
setting_value TEXT,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4");
// 插入默认设置
$pdo->exec("INSERT IGNORE INTO settings (setting_key, setting_value) VALUES
('theme', 'dark'),
('credit_per_domain', '5'),
('max_domains_per_user', '10'),
('sign_in_credit', '2'),
('invite_credit', '10'),
('site_name', '域名分发系统')
");
// 创建管理员账户(提示用户输入)
echo "<h2>数据库安装成功!</h2>";
echo "<p><b>您已安装 Parlz Domains Beta 0.1。</b></p>"
echo "<p>请访问 <a href='auth.php?action=register'>注册页面</a> 来创建管理员账户。</p>";
echo "<p><a href='/'>进入首页</a></p>";
} catch (PDOException $e) {
die("安装失败: " . $e->getMessage());
}
?>