/
home
/
techb158
/
workloadmatch.com
/
Manager
/
Inc
/
/home/techb158/workloadmatch.com/Manager/Inc
mkdir
upload
Name
Size
Mode
Actions
LLMProviders/
-
0755
rm
AddCourse.php
2556
0644
edit
dl
rm
AddCourseTime.php
1904
0644
edit
dl
rm
AddGroup - Copy.php
4633
0644
edit
dl
rm
AddGroup.php
5698
0644
edit
dl
rm
AddHoliday.php
1772
0644
edit
dl
rm
AddTeacherLevel.php
2307
0644
edit
dl
rm
AddUser.php
12821
0644
edit
dl
rm
Add_Retake_Remediation.php
1334
0644
edit
dl
rm
AIScheduleOptimizer.php
11919
0644
edit
dl
rm
Assignment-1.php
75380
0644
edit
dl
rm
Assignment-2.php
75380
0644
edit
dl
rm
Assignment - BackUp- orgenal.php
73272
0644
edit
dl
rm
Assignment - BackUp.php
62761
0644
edit
dl
rm
Assignment - Copy (Last File Updated 2025-05-15).php
72933
0644
edit
dl
rm
Assignment - Copy.php
61826
0644
edit
dl
rm
Assignment.php
74308
0644
edit
dl
rm
Assignment_BackUp.php
79047
0644
edit
dl
rm
Assign_Teacher_Manual.php
20957
0644
edit
dl
rm
Assign_Teacher_Manual_bak.php.disabled
20535
0644
edit
dl
rm
Assign_Teacher_Manual_Force_conflict.php
21106
0644
edit
dl
rm
Available_Teacher_Report.php
2342
0644
edit
dl
rm
BatchScheduler.php
3588
0644
edit
dl
rm
CombinedScheduler.php
8130
0644
edit
dl
rm
ConflictResolver.php
4920
0644
edit
dl
rm
error_log
869
0644
edit
dl
rm
Lockup_to_Assign.php
6367
0644
edit
dl
rm
Process_Assignment - Copy.php
4233
0644
edit
dl
rm
Process_Assignment.php
5813
0644
edit
dl
rm
ScheduleEngine.php
5596
0644
edit
dl
rm
ScheduleGenerator.php
8811
0644
edit
dl
rm
Schedule_Report_by_Group.php
3074
0644
edit
dl
rm
TeacherAssignmentEngine.php
12487
0644
edit
dl
rm
Update_Course.php
2717
0644
edit
dl
rm
Update_Course_Time.php
1947
0644
edit
dl
rm
Update_Group - Copy.php
3489
0644
edit
dl
rm
Update_Group.php
9657
0644
edit
dl
rm
Update_Holiday.php
2357
0644
edit
dl
rm
Update_Profile.php
4923
0644
edit
dl
rm
Update_User.php
5547
0644
edit
dl
rm
Edit:
/home/techb158/workloadmatch.com/Manager/Inc/Lockup_to_Assign.php
(6367B)
<?php include_once '../includes/db_connect.php'; include_once '../includes/functions.php'; sec_session_start(); $error_msg = ""; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $Program_ID = intval($_POST['Program_ID']); $Group_ID = intval($_POST['Group_ID']); $Teacher_ID = intval($_POST['Teacher_ID']); $assignedCount = 0; foreach ($_POST['Active_Course'] as $index => $courseID) { $courseID = intval($courseID); $timeSlotInput = !empty($_POST['Time_Slot'][$index]) ? mysqli_real_escape_string($mysqli, $_POST['Time_Slot'][$index]) : null; $startDate = !empty($_POST['Start_Date'][$index]) ? mysqli_real_escape_string($mysqli, $_POST['Start_Date'][$index]) : null; $endDate = !empty($_POST['End_Date'][$index]) ? mysqli_real_escape_string($mysqli, $_POST['End_Date'][$index]) : null; $queryTime = "SELECT Time_Slot_ID, Time_Slot, Time_From, Time_To FROM time_slot_programs WHERE Time_Slot = ?"; $stmtTime = $mysqli->prepare($queryTime); if (!$stmtTime) { continue; } $stmtTime->bind_param("s", $timeSlotInput); if (!$stmtTime->execute()) { $stmtTime->close(); continue; } $resultTime = $stmtTime->get_result(); $timeRow = $resultTime->fetch_assoc(); $stmtTime->close(); if ($timeRow) { $timeSlot = $timeRow["Time_Slot"]; $timeSlotID = $timeRow["Time_Slot_ID"]; $startTime = !empty($timeRow['Time_From']) ? $timeRow['Time_From'] : null; $endTime = !empty($timeRow['Time_To']) ? $timeRow['Time_To'] : null; } else { continue; } $reserveCourse = isset($_POST['Reserve_Course'][$courseID]) ? 1 : 0; if ($timeSlot && $startDate && $endDate && $startTime && $endTime) { $checkQuery = "SELECT COUNT(*) FROM teacher_course_assignments WHERE Program_ID = ? AND Course_ID = ? AND Group_ID = ? AND Teacher_ID = ?"; $stmtCheck = $mysqli->prepare($checkQuery); if (!$stmtCheck) { continue; } $stmtCheck->bind_param("iiii", $Program_ID, $courseID, $Group_ID, $Teacher_ID); if (!$stmtCheck->execute()) { $stmtCheck->close(); continue; } $stmtCheck->bind_result($count); $stmtCheck->fetch(); $stmtCheck->close(); if ($count > 0) { continue; } $conflictQuery = "SELECT COUNT(*) AS cnt FROM teacher_course_assignments WHERE Teacher_ID = ? AND (? <= End_Date AND ? >= Start_Date) AND NOT (Course_ID = ? AND Group_ID = ? AND Program_ID = ?)"; $stmtConflict = $mysqli->prepare($conflictQuery); if (!$stmtConflict) { continue; } $stmtConflict->bind_param("issiii", $Teacher_ID, $startDate, $endDate, $courseID, $Group_ID, $Program_ID); if (!$stmtConflict->execute()) { $stmtConflict->close(); continue; } $resultConflict = $stmtConflict->get_result(); $conflictRow = $resultConflict->fetch_assoc(); $conflictCount = $conflictRow['cnt']; $stmtConflict->close(); if ($conflictCount > 0) { continue; } $fetchQuery = "SELECT Schedule_ID, Reserve_Course, Time_Slot, Start_Date, End_Date, Start_Time, End_Time FROM course_group_schedule_main WHERE Program_ID = ? AND Course_ID = ? AND Group_ID = ? AND Assigned = 0"; $stmtFetch = $mysqli->prepare($fetchQuery); if (!$stmtFetch) { continue; } $stmtFetch->bind_param("iii", $Program_ID, $courseID, $Group_ID); if (!$stmtFetch->execute()) { $stmtFetch->close(); continue; } $stmtFetch->bind_result($Schedule_ID, $dbReserveCourse, $dbTime_Slot, $dbStart_Date, $dbEnd_Date, $dbStart_Time, $dbEnd_Time); $schedules = []; while ($stmtFetch->fetch()) { $schedules[] = [ 'Schedule_ID' => $Schedule_ID, 'Reserve_Course' => $dbReserveCourse, 'Time_Slot' => $dbTime_Slot, 'Start_Date' => $dbStart_Date, 'End_Date' => $dbEnd_Date, 'Start_Time' => $dbStart_Time, 'End_Time' => $dbEnd_Time, ]; } $stmtFetch->close(); if (empty($schedules)) { continue; } foreach ($schedules as $s) { $assignedAt = date('Y-m-d H:i:s'); $stmtInsert = $mysqli->prepare("INSERT INTO teacher_course_assignments (Teacher_ID, Course_ID, Group_ID, Program_ID, Schedule_ID, Time_Slot, Start_Date, End_Date, Assigned_At) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"); if (!$stmtInsert) { continue; } $stmtInsert->bind_param("iiiiissss", $Teacher_ID, $courseID, $Group_ID, $Program_ID, $s['Schedule_ID'], $s['Time_Slot'], $s['Start_Date'], $s['End_Date'], $assignedAt); if ($stmtInsert->execute()) { $stmtInsert->close(); $stmtUpdate1 = $mysqli->prepare("UPDATE course_group_schedule_main SET Assigned = 1 WHERE Schedule_ID = ?"); $stmtUpdate1->bind_param("i", $s['Schedule_ID']); $stmtUpdate1->execute(); $stmtUpdate1->close(); $stmtUpdate2 = $mysqli->prepare("UPDATE schedule_course_for_group SET Assigned = 1 WHERE Schedule_ID = ? AND Program_ID = ? AND Group_ID = ?"); $stmtUpdate2->bind_param("iii", $s['Schedule_ID'], $Program_ID, $Group_ID); $stmtUpdate2->execute(); $stmtUpdate2->close(); $assignedCount++; } else { $stmtInsert->close(); } } } } if ($assignedCount > 0) { set_flash_msg("$assignedCount course(s) assigned successfully!", 'success'); } else { set_flash_msg("No courses were assigned. They may conflict with existing assignments.", 'warning'); } header("Location: Lockup_to_Assign"); exit(); } ?>
Save
cmd:
run