prepare("INSERT INTO assignments (title, description, due_date, student_id) VALUES (?, ?, ?, ?)"); $success_count = 0; foreach ($student_ids as $sid) { if ($stmt->execute([$title, $description, $due_date, $sid])) { $new_id = $pdo->lastInsertId(); logActivity($pdo, 'CREATE_ASSIGNMENT', "Created assignment ID: $new_id, Title: $title, Student ID: $sid"); $success_count++; } } if ($success_count > 0) { $success = "เพิ่มงานสำเร็จให้แก่ $success_count คน"; $action = 'list'; } else { $error = 'เกิดข้อผิดพลาดในการเพิ่มงาน'; } } } elseif (isset($_POST['edit'])) { $id = $_POST['id'] ?? ''; $status = $_POST['status'] ?? 'pending'; $student_ids = $_POST['student_ids'] ?? []; if (empty($title) || empty($due_date) || empty($student_ids)) { $error = 'กรุณากรอกข้อมูลให้ครบถ้วน (เลือกนักเรียนอย่างน้อย 1 คน)'; } else { // Update the current assignment with the FIRST selected student $first_student_id = array_shift($student_ids); $stmt = $pdo->prepare("UPDATE assignments SET title=?, description=?, due_date=?, student_id=?, status=? WHERE id=?"); if ($stmt->execute([$title, $description, $due_date, $first_student_id, $status, $id])) { logActivity($pdo, 'UPDATE_ASSIGNMENT', "Updated assignment ID: $id, Title: $title, Status: $status"); $success = 'แก้ไขงานสำเร็จ'; // If more students were checked, insert them as new assignments (cloning) if (!empty($student_ids)) { $insert_stmt = $pdo->prepare("INSERT INTO assignments (title, description, due_date, student_id, status) VALUES (?, ?, ?, ?, ?)"); $added_count = 0; foreach ($student_ids as $sid) { if ($insert_stmt->execute([$title, $description, $due_date, $sid, $status])) { $added_count++; } } if ($added_count > 0) { $success .= " และเพิ่มงานใหม่ให้กับนักเรียนที่เลือกเพิ่มอีก $added_count คน"; } } $action = 'list'; } else { $error = 'เกิดข้อผิดพลาดในการแก้ไขงาน'; } } } } // Handle delete if (isset($_GET['delete'])) { $id = $_GET['delete']; // Get assignment info before deleting for log $stmt_info = $pdo->prepare("SELECT title FROM assignments WHERE id=?"); $stmt_info->execute([$id]); $assign_info = $stmt_info->fetch(); $stmt = $pdo->prepare("DELETE FROM assignments WHERE id=?"); if ($stmt->execute([$id])) { $title = $assign_info ? $assign_info['title'] : 'Unknown'; logActivity($pdo, 'DELETE_ASSIGNMENT', "Deleted assignment ID: $id, Title: $title"); $success = 'ลบงานสำเร็จ'; } } // Fetch students for dropdowns $stmt = $pdo->query("SELECT id, name FROM users WHERE role = 'student' ORDER BY name"); $students = $stmt->fetchAll(); include 'includes/header.php'; include 'includes/sidebar.php'; ?>
= htmlspecialchars($error) ?>
= htmlspecialchars($success) ?>