/home/techb158/workloadmatch.com/workloadmatch.com/BackUp/Manager
Edit: /home/techb158/workloadmatch.com/workloadmatch.com/BackUp/Manager/save_schedule.php (2970B)
prepare("INSERT INTO Final_Group_Schedule
(Program_ID, Group_ID, Date, Slot, Time, Course_ID, Course_Name, Is_Exam)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
if (!$stmt) {
error_log("❌ Failed to prepare insert statement: " . $mysqli->error);
echo "Server error";
exit;
}
$inserted = 0;
foreach ($data as $row) {
$program_id = isset($row['program_id']) ? (int)$row['program_id'] : null;
$group_id = isset($row['group_id']) ? (int)$row['group_id'] : null;
$date = trim($row['date'] ?? '');
$slot = trim($row['slot'] ?? '');
$time = trim($row['time'] ?? '');
$course_name = trim($row['course'] ?? '');
$is_exam = !empty($row['is_exam']) ? 1 : 0;
if (!$program_id || !$group_id || !$date || !$slot || !$time) {
error_log("⚠️ Skipping invalid row: " . json_encode($row));
continue;
}
error_log("⚠️ Skipping invalid row: " . json_encode($data));
// Special handling for HOLIDAY or RETAKE rows
if (in_array(strtoupper($course_name), ['HOLIDAY', 'RETAKE', 'Retake Day'])) {
$course_id = 0; // or a dedicated value
} else {
// Normal lookup
$course_id = null;
$courseStmt = $mysqli->prepare("SELECT Course_ID FROM Courses WHERE Course_Name = ?");
if ($courseStmt) {
$courseStmt->bind_param("s", $course_name);
$courseStmt->execute();
$courseStmt->bind_result($course_id);
$courseStmt->fetch();
$courseStmt->close();
}
if (!$course_id) {
error_log("⚠️ Course not found for: " . $course_name);
continue;
}
}
// Delete existing record for same Program, Group, Slot
$deleteStmt = $mysqli->prepare("DELETE FROM Final_Group_Schedule WHERE Program_ID = ? AND Group_ID = ?");
if ($deleteStmt) {
$deleteStmt->bind_param("ii", $program_id, $group_id);
$deleteStmt->execute();
$deleteStmt->close();
}
// Insert
$stmt->bind_param("iisssisi",
$program_id,
$group_id,
$date,
$slot,
$time,
$course_id,
$course_name,
$is_exam
);
if (!$stmt->execute()) {
error_log("❌ Failed to insert row for $course_name: " . $stmt->error);
} else {
$inserted++;
}
}
$stmt->close();
echo "✅ Inserted $inserted schedule row(s).";
?>