Files

59 lines
2.0 KiB
PHP

<?php
$host_sekarang = $_SERVER['HTTP_HOST'];
// Cek apakah URL yang sedang diakses mengandung kata 'localhost' atau '127.0.0.1'
if (strpos($host_sekarang, 'localhost') !== false || strpos($host_sekarang, '127.0.0.1') !== false) {
$host = "localhost";
$user = "root";
$pass = "";
$db = "webgis_db";
} else {
// Gunakan Kredensial Normal User dari Coolify
$host = "b84c4osgw4kcw0wc8o8cg8cg";
$user = "mysql"; // Menggunakan normal user
$pass = "YN54ned6j7P6K7c76sLqh9ERUbm8xvhPFj31Mnt0yKPXxqrIhWICWlbJbJjUCfn7"; // Normal User Password
$db = "webgis_db";
}
// Connect to MySQL server first
$conn = new mysqli($host, $user, $pass);
if ($conn->connect_error) {
die("Koneksi gagal: " . $conn->connect_error);
}
// Create database if not exists
$conn->query("CREATE DATABASE IF NOT EXISTS `$db` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;");
// Select database
$conn->select_db($db);
// Create users table
$sql_users = "CREATE TABLE IF NOT EXISTS `users` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`username` VARCHAR(50) NOT NULL UNIQUE,
`password` VARCHAR(255) NOT NULL,
`avatar` VARCHAR(255) NOT NULL,
`role` VARCHAR(20) NOT NULL DEFAULT 'admin'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
if (!$conn->query($sql_users)) {
die("Gagal membuat tabel users: " . $conn->error);
}
// Seed default admin if empty
$check_empty = $conn->query("SELECT COUNT(*) as count FROM users");
$row = $check_empty->fetch_assoc();
if ($row['count'] == 0) {
$default_user = 'admin';
// Hashing password "admin123"
$default_pass = password_hash('admin123', PASSWORD_BCRYPT);
$default_avatar = 'https://ui-avatars.com/api/?name=Admin+Operator&background=1e40af&color=fff&bold=true&size=128';
$default_role = 'admin';
$stmt = $conn->prepare("INSERT INTO users (username, password, avatar, role) VALUES (?, ?, ?, ?)");
$stmt->bind_param("ssss", $default_user, $default_pass, $default_avatar, $default_role);
$stmt->execute();
$stmt->close();
}