上传文件至「/」
This commit is contained in:
+98
@@ -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());
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user