35996-vm/db/setup.php
Flatlogic Bot da3d35fbf3 v1
2025-11-22 12:04:14 +00:00

48 lines
1.4 KiB
PHP

<?php
require_once __DIR__ . '/config.php';
try {
$pdo = db();
// Set the PDO error mode to exception
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
is_admin BOOLEAN NOT NULL DEFAULT 0,
force_password_change BOOLEAN NOT NULL DEFAULT 1,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
";
$pdo->exec($sql);
echo "Table 'users' created successfully." . PHP_EOL;
// Add admin user
$username = 'admin';
$password = 'admin';
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
// Check if admin user already exists
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");
$stmt->execute([':username' => $username]);
$user = $stmt->fetch();
if (!$user) {
$stmt = $pdo->prepare("INSERT INTO users (username, password, is_admin, force_password_change) VALUES (:username, :password, 1, 1)");
$stmt->execute([
':username' => $username,
':password' => $hashed_password
]);
echo "Admin user created successfully." . PHP_EOL;
} else {
echo "Admin user already exists." . PHP_EOL;
}
} catch(PDOException $e) {
die("ERROR: Could not connect. " . $e->getMessage());
}