/home/techb158/workloadmatch.com/Teacher
Edit: /home/techb158/workloadmatch.com/Teacher/reference_reports.php (16987B)
prepare("SELECT Manager_ID FROM teacher_profile WHERE Teacher_ID = ?");
$tchk->bind_param('s', $_SESSION['user_id']);
$tchk->execute();
$tchk->bind_result($tManagerID);
$tchk->fetch();
$tchk->close();
if ($tManagerID) {
$vchk = $mysqli->prepare("SELECT is_visible FROM teacher_report_visibility WHERE Manager_ID = ? AND page_name = 'reference_reports'");
$vchk->bind_param('s', $tManagerID);
$vchk->execute();
$vchk->bind_result($pageVisible);
$vchk->fetch();
$vchk->close();
if ($pageVisible === 0) {
$page = 'Teacher | Assignment Report';
addinfo($page, $mysqli);
?>
CMS | ReportsCurrently Unavailable
This page is currently disabled by your manager. Please check back later.
prepare("SELECT DISTINCT YEAR(Start_Date) AS Yr, MONTH(Start_Date) AS Mo FROM teacher_course_assignments WHERE Teacher_ID = ? ORDER BY Start_Date DESC");
$stmt->bind_param("s", $Teacher_ID);
$stmt->execute();
$res = $stmt->get_result();
while ($row = $res->fetch_assoc()) {
$sy = (int)$row['Yr'];
$mo = (int)$row['Mo'];
$semYr = ($mo >= 8) ? $sy : $sy - 1;
if (!in_array($semYr, $availYears)) $availYears[] = $semYr;
}
$stmt->close();
$currentMonth = (int)date('m');
$currentYear = (int)date('Y');
$defaultYear = ($currentMonth >= 8) ? $currentYear : $currentYear - 1;
$semesterYear = isset($_POST['semester_year']) ? (int)$_POST['semester_year'] : $defaultYear;
if (!in_array($semesterYear, $availYears) && !empty($availYears)) $semesterYear = $availYears[0];
$augustFirst = new DateTime("$semesterYear-08-01");
$dayOfWeek = (int)$augustFirst->format('N');
$daysUntilMonday = ($dayOfWeek === 1) ? 0 : (8 - $dayOfWeek) % 7;
$semesterStart = clone $augustFirst;
$semesterStart->modify("+$daysUntilMonday days");
$semesterEnd = new DateTime(($semesterYear + 1) . '-06-30');
$semStartStr = $semesterStart->format('Y-m-d');
$semEndStr = $semesterEnd->format('Y-m-d');
$tFullName = '';
$stmt = $mysqli->prepare("SELECT CONCAT(First_Name, ' ', Last_Name) FROM teacher_profile WHERE Teacher_ID = ?");
$stmt->bind_param("s", $Teacher_ID);
$stmt->execute();
$stmt->bind_result($tFullName);
$stmt->fetch();
$stmt->close();
$assignments = [];
$totalHours = 0;
$programNames = [];
$courseHours = [];
$pNames = [];
$res = $mysqli->query("SELECT DISTINCT p.Program_ID, p.Program_Name
FROM Programs p
JOIN teacher_course_assignments tca ON tca.Program_ID = p.Program_ID
WHERE tca.Teacher_ID = $Teacher_ID AND tca.Start_Date >= '$semStartStr' AND tca.End_Date <= '$semEndStr'
ORDER BY p.Program_Name");
while ($row = $res->fetch_assoc()) {
$pNames[(int)$row['Program_ID']] = $row['Program_Name'];
}
$stmt = $mysqli->prepare("
SELECT c.Course_Name, g.Group_Name, p.Program_Name, cgs.Start_Time, cgs.End_Time,
tca.Time_Slot, tca.Start_Date, tca.End_Date, cgs.Course_Hours, cgs.Schedule_ID, cgs.Reserve_Course
FROM teacher_course_assignments tca
JOIN course_group_schedule_main cgs ON tca.Schedule_ID = cgs.Schedule_ID
JOIN Courses c ON cgs.Course_ID = c.Course_ID
JOIN manager_group_name g ON cgs.Group_ID = g.Group_ID
JOIN Programs p ON cgs.Program_ID = p.Program_ID
WHERE tca.Teacher_ID = ? AND tca.Start_Date >= ? AND tca.End_Date <= ?
ORDER BY tca.Start_Date ASC, cgs.Start_Time ASC
");
$stmt->bind_param("sss", $Teacher_ID, $semStartStr, $semEndStr);
$stmt->execute();
$res = $stmt->get_result();
while ($row = $res->fetch_assoc()) {
$assignments[] = $row;
$totalHours += (int)$row['Course_Hours'];
$pn = $row['Program_Name'];
if (!isset($courseHours[$pn])) $courseHours[$pn] = 0;
$courseHours[$pn] += (int)$row['Course_Hours'];
if (!in_array($pn, $programNames)) $programNames[] = $pn;
}
$stmt->close();
$totalAssignments = count($assignments);
$uniqueCourses = [];
foreach ($assignments as $a) {
$k = $a['Course_Name'] . '|' . $a['Group_Name'];
$uniqueCourses[$k] = true;
}
$uniqueCourseCount = count($uniqueCourses);
$progFilter = $_POST['program'] ?? '';
?>
CMS | Assignment Report
$hrs):
$pct = $totalH > 0 ? round(($hrs / $totalH) * 100) : 0;
$color = $colors[$ci % count($colors)];
?>
(%)
|
|
|
|
|
|
|
|
|
'.LANG_VALUE_304.'' : ''.LANG_VALUE_413.'';
?>
|
|
|
|
|
|
|
|
|