prepare("SELECT id FROM admin_users WHERE username = ?");
$stmt_check->execute([$cid]);
if ($stmt_check->fetch()) {
$error = "เจ้าของหมายเลข CID นี้เป็น Admin อยู่แล้ว";
} else {
$hash = password_hash($password, PASSWORD_DEFAULT);
$insert = $pdo->prepare("INSERT INTO admin_users (username, cid, password_hash, role) VALUES (?, ?, ?, 'admin')");
if ($insert->execute([$cid, $cid, $hash])) {
$msg = "เพิ่มสิทธิ์ผู้ดูแลระบบสำเร็จ";
} else {
$error = "เกิดข้อผิดพลาดในการบันทึกข้อมูล";
}
}
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['delete_admin'])) {
$admin_id = $_POST['admin_id'];
$del = $pdo->prepare("DELETE FROM admin_users WHERE id = ? AND role != 'superadmin'");
if ($del->execute([$admin_id])) {
$msg = "ลบสิทธิ์ผู้ดูแลระบบสำเร็จ";
}
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['reset_2fa'])) {
$admin_id = $_POST['admin_id'];
$reset = $pdo->prepare("UPDATE admin_users SET google2fa_secret = NULL WHERE id = ?");
if ($reset->execute([$admin_id])) {
$msg = "รีเซ็ต 2FA สำเร็จ (เจ้าหน้าที่จะต้องตั้งค่า 2FA ใหม่เมื่อเข้าสู่ระบบครั้งถัดไป)";
}
}
$stmt = $pdo->query("SELECT * FROM admin_users ORDER BY role DESC, created_at ASC");
$admins = $stmt->fetchAll();
// Add $current_admin logic
$stmt_admin = $pdo->prepare("SELECT username, role FROM admin_users WHERE id = ?");
$stmt_admin->execute([$_SESSION['admin_id'] ?? 0]);
$current_admin = $stmt_admin->fetch();
?>
Manage Admins - KSH-STAFF
รายชื่อผู้ดูแลระบบในระบบ
| Username / CID |
สิทธิ์ (Role) |
สถานะ 2FA |
จัดการ |
| = htmlspecialchars($ad['username']) ?> |
Super Admin
Admin
|
= $ad['google2fa_secret'] ? ' ตั้งค่าแล้ว' : ' ยังไม่ตั้งค่า' ?>
|
-
|