This commit is contained in:
Flatlogic Bot 2025-12-06 19:39:43 +00:00
parent 8c09a7ce45
commit 975b53167c

View File

@ -470,31 +470,29 @@ $classes = $all_data['classes'];
$timeslots = $all_data['timeslots']; $timeslots = $all_data['timeslots'];
$workloads = $all_data['workloads']; $workloads = $all_data['workloads'];
// Fetch working days from school settings // Fetch working days from school settings and apply a strict filter
$school_id = $_SESSION['school_id'] ?? null; $school_id = $_SESSION['school_id'] ?? null;
$days_of_week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']; // Default $days_of_week = [];
$allowed_days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'];
if ($school_id) { if ($school_id) {
$stmt = $pdoconn->prepare("SELECT working_days FROM schools WHERE id = ?"); $stmt = $pdoconn->prepare("SELECT working_days FROM schools WHERE id = ?");
$stmt->execute([$school_id]); $stmt->execute([$school_id]);
$school_settings = $stmt->fetch(PDO::FETCH_ASSOC); $working_days_str = $stmt->fetchColumn();
if ($school_settings && !empty($school_settings['working_days'])) { if ($working_days_str) {
$days_from_db = array_map('trim', explode(',', $school_settings['working_days'])); $days_from_db = array_map('trim', explode(',', $working_days_str));
// Intersect with the allowed days to filter out anything else
// Explicitly filter for valid days from Monday to Friday $days_of_week = array_intersect($days_from_db, $allowed_days);
$valid_weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'];
$filtered_days = [];
foreach ($days_from_db as $day) {
if (in_array($day, $valid_weekdays)) {
$filtered_days[] = $day;
}
}
if (!empty($filtered_days)) {
$days_of_week = $filtered_days;
}
} }
} }
// If after all that, the list is empty, fall back to the default
if (empty($days_of_week)) {
$days_of_week = $allowed_days;
}
// Ensure the array is numerically indexed from 0
$days_of_week = array_values($days_of_week);
$class_timetables = []; $class_timetables = [];
if (isset($_POST['generate'])) { if (isset($_POST['generate'])) {