prepare("UPDATE users SET username=?, password=?, full_name=?, role=?, pin=?, must_change_pin=?, is_active=? WHERE id=?"); $stmt->execute([$username, $pw_hash, $full_name, $role, $pin, $must_change_pin, $is_active, $user_id]); } else { $stmt = $pdo->prepare("UPDATE users SET username=?, full_name=?, role=?, pin=?, must_change_pin=?, is_active=? WHERE id=?"); $stmt->execute([$username, $full_name, $role, $pin, $must_change_pin, $is_active, $user_id]); } $success_msg = "อัปเดตข้อมูลผู้ใช้เรียบร้อยแล้ว"; } else { // Insert $pw_hash = password_hash($password ?: '123456', PASSWORD_BCRYPT); $stmt = $pdo->prepare("INSERT INTO users (username, password, full_name, role, pin, must_change_pin, is_active) VALUES (?, ?, ?, ?, ?, ?, ?)"); $stmt->execute([$username, $pw_hash, $full_name, $role, $pin, $must_change_pin, $is_active]); $success_msg = "สร้างบัญชีผู้ใช้ใหม่เรียบร้อยแล้ว"; } } catch (PDOException $e) { $error_msg = "เกิดข้อผิดพลาด: " . $e->getMessage(); } } elseif ($action === 'delete_user') { $user_id = $_POST['user_id'] ?? ''; if ($user_id && $user_id != $_SESSION['user_id']) { // prevent deleting oneself try { $stmt = $pdo->prepare("DELETE FROM users WHERE id=?"); $stmt->execute([$user_id]); $success_msg = "ลบบัญชีผู้ใช้เรียบร้อยแล้ว"; } catch (PDOException $e) { $error_msg = "เกิดข้อผิดพลาด: " . $e->getMessage(); } } else { $error_msg = "ไม่สามารถลบบัญชีนี้ได้"; } } elseif ($action === 'save_unit') { $unit_id = $_POST['unit_id'] ?? ''; $unit_name = trim($_POST['unit_name']); $level = $_POST['level']; $sort_order = (int)$_POST['sort_order']; $is_samui_hospital = isset($_POST['is_samui_hospital']) ? 1 : 0; $is_active = isset($_POST['is_active']) ? 1 : 0; try { if ($unit_id) { // Update $stmt = $pdo->prepare("UPDATE units SET name=?, level=?, sort_order=?, is_samui_hospital=?, is_active=? WHERE id=?"); $stmt->execute([$unit_name, $level, $sort_order, $is_samui_hospital, $is_active, $unit_id]); $success_msg = "อัปเดตข้อมูลหน่วยกู้ชีพเรียบร้อยแล้ว"; } else { // Insert $stmt = $pdo->prepare("INSERT INTO units (name, level, sort_order, is_samui_hospital, is_active) VALUES (?, ?, ?, ?, ?)"); $stmt->execute([$unit_name, $level, $sort_order, $is_samui_hospital, $is_active]); $success_msg = "เพิ่มหน่วยกู้ภัยเครือข่ายใหม่เรียบร้อยแล้ว"; } } catch (PDOException $e) { $error_msg = "เกิดข้อผิดพลาด: " . $e->getMessage(); } } elseif ($action === 'delete_unit') { $unit_id = $_POST['unit_id'] ?? ''; if ($unit_id) { try { $stmt = $pdo->prepare("DELETE FROM units WHERE id=?"); $stmt->execute([$unit_id]); $success_msg = "ลบหน่วยกู้ชีพเรียบร้อยแล้ว"; } catch (PDOException $e) { $error_msg = "เกิดข้อผิดพลาด: " . $e->getMessage(); } } } elseif ($action === 'save_settings') { $system_name = trim($_POST['system_name'] ?? ''); $footer_text = trim($_POST['footer_text'] ?? ''); try { // Check if settings table exists $pdo->query("SELECT 1 FROM settings LIMIT 1"); $stmt = $pdo->prepare("INSERT INTO settings (setting_key, setting_value) VALUES ('system_name', ?) ON DUPLICATE KEY UPDATE setting_value = ?"); $stmt->execute([$system_name, $system_name]); $stmt = $pdo->prepare("INSERT INTO settings (setting_key, setting_value) VALUES ('footer_text', ?) ON DUPLICATE KEY UPDATE setting_value = ?"); $stmt->execute([$footer_text, $footer_text]); $success_msg = "อัปเดตการตั้งค่าทั่วไปเรียบร้อยแล้ว"; } catch (PDOException $e) { $error_msg = "เกิดข้อผิดพลาด: กรุณารัน mockup_settings.sql เพื่อสร้างตาราง settings ก่อน"; } } elseif ($action === 'save_master_data') { $id = $_POST['id'] ?? ''; $category = trim($_POST['category'] ?? ''); $item_value = trim($_POST['item_value'] ?? ''); $item_label = trim($_POST['item_label'] ?? ''); $sort_order = (int)($_POST['sort_order'] ?? 99); $is_active = isset($_POST['is_active']) ? 1 : 0; if ($category && $item_value && $item_label) { try { if ($id) { $stmt = $pdo->prepare("UPDATE master_data SET category = ?, item_value = ?, item_label = ?, sort_order = ?, is_active = ? WHERE id = ?"); $stmt->execute([$category, $item_value, $item_label, $sort_order, $is_active, $id]); $success_msg = "อัปเดตข้อมูลตัวเลือกเรียบร้อยแล้ว"; } else { $stmt = $pdo->prepare("INSERT INTO master_data (category, item_value, item_label, sort_order, is_active) VALUES (?, ?, ?, ?, ?)"); $stmt->execute([$category, $item_value, $item_label, $sort_order, $is_active]); $success_msg = "เพิ่มตัวเลือกใหม่เรียบร้อยแล้ว"; } } catch (PDOException $e) { $error_msg = "เกิดข้อผิดพลาด: กรุณารัน mockup_master_data.sql เพื่อสร้างตาราง master_data ก่อน"; } } } } // Handle GET actions for deletions if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['action'])) { $action = $_GET['action']; if ($action === 'delete_master_data' && isset($_GET['id'])) { try { $stmt = $pdo->prepare("DELETE FROM master_data WHERE id = ?"); $stmt->execute([$_GET['id']]); $success_msg = "ลบตัวเลือกเรียบร้อยแล้ว"; } catch (PDOException $e) { $error_msg = "เกิดข้อผิดพลาดในการลบข้อมูล: " . $e->getMessage(); } } } // ----------------------------------------------------- // Fetch Data // ----------------------------------------------------- $users = []; $units = []; try { $stmt = $pdo->query("SELECT * FROM users ORDER BY id ASC"); if ($stmt) $users = $stmt->fetchAll(PDO::FETCH_ASSOC); $stmt = $pdo->query("SELECT * FROM units ORDER BY sort_order ASC, id ASC"); if ($stmt) $units = $stmt->fetchAll(PDO::FETCH_ASSOC); $master_data = []; try { $stmt = $pdo->query("SELECT * FROM master_data ORDER BY category ASC, sort_order ASC, id ASC"); if ($stmt) $master_data = $stmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) {} } catch (PDOException $e) {} // Fetch settings $system_name = getSetting($pdo, 'system_name', 'ระบบบริหารจัดการ ศูนย์รับแจ้งเหตุและสั่งการนเรนทรอ่าวไทย'); $footer_text = getSetting($pdo, 'footer_text', 'ศูนย์รับแจ้งเหตุและสั่งการนเรนทรอ่าวไทย ระบบบริหารจัดการ. สงวนลิขสิทธิ์.'); ?>
เพิ่ม ลบ บัญชีผู้ใช้ เปลี่ยนสิทธิ์ และ PIN ปลดล็อคระบบ
| บัญชี / ชื่อผู้ใช้ | บทบาท (Role) | สถานะ | แก้ไข |
|---|---|---|---|
|
@
|
Active Inactive |
|