BuildInsert(); db_query($query); $class_num = db_insert_id(); if (isset($teacher1)) $teacher1 = intval($teacher1); if (isset($teacher2)) $teacher2 = intval($teacher2); if (isset($teacher3)) $teacher3 = intval($teacher3); if (isset($teacher4)) $teacher4 = intval($teacher4); if (isset($teacher5)) $teacher5 = intval($teacher5); // Check and update the teacher's records with the class_num if (isset($teacher1) && strlen($teacher1) > 0) { $results = db_query("select * from people where school_num = $school_num and record_num = $teacher1 and class_num = 0"); if (db_num_rows($results) == 1) db_query("update people set class_num = $class_num where record_num = $teacher1"); } if (isset($teacher2) && strlen($teacher2) > 0) { $results = db_query("select * from people where school_num = $school_num and record_num = $teacher2 and class_num = 0"); if (db_num_rows($results) == 1) db_query("update people set class_num = $class_num where record_num = $teacher2"); } if (isset($teacher3) && strlen($teacher3) > 0) { $results = db_query("select * from people where school_num = $school_num and record_num = $teacher3 and class_num = 0"); if (db_num_rows($results) == 1) db_query("update people set class_num = $class_num where record_num = $teacher3"); } if (isset($teacher4) && strlen($teacher4) > 0) { $results = db_query("select * from people where school_num = $school_num and record_num = $teacher4 and class_num = 0"); if (db_num_rows($results) == 1) db_query("update people set class_num = $class_num where record_num = $teacher4"); } if (isset($teacher5) && strlen($teacher5) > 0) { $results = db_query("select * from people where school_num = $school_num and record_num = $teacher5 and class_num = 0"); if (db_num_rows($results) == 1) db_query("update people set class_num = $class_num where record_num = $teacher5"); } $form_message = getLanguageText('RECORD-INSERTED-MSG'); $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); case "edit": $next_naction = "update"; // Get current record // Handle division number as a parameter if (array_key_exists('division',$_GET)) { $division = intval($_GET['division']); $query = "select * from $CurrentTable " . "where school_num = $school_num " . "and division = $division"; } else { // Process record number $record_num = intval($_GET['record_num']); $query = "select * from $CurrentTable " . "where school_num = $school_num " . "and record_num = $record_num"; } // Get record to edit $results = db_query($query); if (db_num_rows($results) == 1) { $row = db_fetch_array($results); extract($row); include $FormFile; } else { $error_message = getLanguageText('ERRORMSG-NOT-FOUND'); $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); } break; case "update": extract($_POST); $teacher1 = intval($teacher1); $teacher2 = intval($teacher2); $teacher3 = intval($teacher3); $teacher4 = intval($teacher4); $teacher5 = intval($teacher5); // Check and update the teacher's records with the class_num if (strlen($teacher1) > 0) { $results = db_query("select * from people where school_num = $school_num and record_num = $teacher1 and class_num = 0"); if (db_num_rows($results) == 1) db_query("update people set class_num = $record_num where record_num = $teacher1"); } if (strlen($teacher2) > 0) { $results = db_query("select * from people where school_num = $school_num and record_num = $teacher2 and class_num = 0"); if (db_num_rows($results) == 1) db_query("update people set class_num = $record_num where record_num = $teacher2"); } if (strlen($teacher3) > 0) { $results = db_query("select * from people where school_num = $school_num and record_num = $teacher3 and class_num = 0"); if (db_num_rows($results) == 1) db_query("update people set class_num = $record_num where record_num = $teacher3"); } if (strlen($teacher4) > 0) { $results = db_query("select * from people where school_num = $school_num and record_num = $teacher4 and class_num = 0"); if (db_num_rows($results) == 1) db_query("update people set class_num = $record_num where record_num = $teacher4"); } if (strlen($teacher5) > 0) { $results = db_query("select * from people where school_num = $school_num and record_num = $teacher5 and class_num = 0"); if (db_num_rows($results) == 1) db_query("update people set class_num = $record_num where record_num = $teacher5"); } // Get current record $record_num = intval($record_num); $query = "select * from $CurrentTable where record_num = $record_num"; $results = db_query($query); $row = db_fetch_array($results); $t1 = $row['teacher1']; $t2 = $row['teacher2']; $t3 = $row['teacher3']; $t4 = $row['teacher4']; $t5 = $row['teacher5']; $pc = $row['default_price_category']; // Handle class changes if the first teacher is changed if (strlen($t1) && $t1 != $teacher1) { $query = "select * from people where school_num = $school_num and class_num = $record_num and record_num = $t1"; $results = db_query($query); if (db_num_rows($results) == 1) { db_query("update people set class_num = 0 where record_num = $t1"); } } // Handle class changes if the second teacher is changed if (strlen($t2) && $t2 != $teacher2) { $query = "select * from people where school_num = $school_num and class_num = $record_num and record_num = $t2"; $results = db_query($query); if (db_num_rows($results) == 1) { db_query("update people set class_num = 0 where record_num = $t2"); } } // Handle class changes if the third teacher is changed if (strlen($t3) && $t3 != $teacher3) { $query = "select * from people where school_num = $school_num and class_num = $record_num and record_num = $t3"; $results = db_query($query); if (db_num_rows($results) == 1) { db_query("update people set class_num = 0 where record_num = $t3"); } } // Handle class changes if the fourth teacher is changed if (strlen($t4) && $t4 != $teacher4) { $query = "select * from people where school_num = $school_num and class_num = $record_num and record_num = $t4"; $results = db_query($query); if (db_num_rows($results) == 1) { db_query("update people set class_num = 0 where record_num = $t4"); } } // Handle class changes if the fifth teacher is changed if (strlen($t5) && $t5 != $teacher5) { $query = "select * from people where school_num = $school_num and class_num = $record_num and record_num = $t5"; $results = db_query($query); if (db_num_rows($results) == 1) { db_query("update people set class_num = 0 where record_num = $t5"); } } // Handle changes to price category if ($update_students == 'Y') { $query = "UPDATE people SET menu_price_category = '$default_price_category' WHERE class_num = $record_num"; db_query($query); } $table = new Table("$CurrentTable"); $query = $table->BuildUpdate(); db_query($query); $form_message = getLanguageText('RECORD-UPDATED-MSG'); $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); case "delete-confirmed": $record_num = intval($_GET['record_num']); $query = "select * from $CurrentTable " . "where school_num = $school_num " . "and record_num = $record_num"; $results = db_query($query); if (db_num_rows($results) == 0) { $error_message = getLanguageText('ERRORMSG-NOT-FOUND'); $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); } $row = db_fetch_array($results); extract($row); // Check if there are students in this class $count = db_getVal("select count(*) from people where school_num = $school_num AND class_num = $record_num and people_type = 'Student'"); if ($count > 0) { $error_message = $GlobalText['ClassDeleteError']; $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); } // Delete the current record $query = "delete from $CurrentTable " . "where school_num = $school_num " . "and record_num = $record_num"; db_query($query); $form_message = getLanguageText('RECORD-DELETED-MSG'); $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); case "save-sort": // Parse the hidden fields to update the sort sequence in the database if (array_key_exists('row_sequence',$_POST) && strlen($_POST['row_sequence']) > 0) { // Update the sequence to avoid duplicate keys db_query("UPDATE $CurrentTable SET sequence = sequence + 1000 WHERE school_num = $school_num"); $row_sequence = db_escape_string(trim($_POST['row_sequence'], ", ")); $item_sequence = explode(',',$row_sequence); for ($i = 0; $i < count($item_sequence); $i++) { $rnum = intval($item_sequence[$i]); if ($rnum > 0) { $sequence = $i + 1; $query = "update $CurrentTable set sequence = $sequence where record_num = $rnum"; db_query($query); } } } $form_message = getLanguageText('RECORDS-SORTED-MSG'); $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); case "sort-by-description": $results = db_query("SELECT * FROM classes WHERE school_num = $base_school_num ORDER BY description"); // Update the sequence to avoid duplicate keys db_query("UPDATE classes SET sequence = sequence + 1000 WHERE school_num = $base_school_num"); $sequence = 1; while ($row = db_fetch_assoc($results)) { $rnum = $row['record_num']; $query = "update classes set sequence = $sequence where record_num = $rnum"; db_query($query); $sequence++; } $form_message = getLanguageText('RECORDS-SORTED-MSG'); $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); case "sort-by-grade": $results = db_query("SELECT * FROM classes WHERE school_num = $base_school_num ORDER BY cast(grade AS unsigned), description"); // Update the sequence to avoid duplicate keys db_query("UPDATE classes SET sequence = sequence + 1000 WHERE school_num = $base_school_num"); $sequence = 1; while ($row = db_fetch_assoc($results)) { $rnum = $row['record_num']; $query = "update classes set sequence = $sequence where record_num = $rnum"; db_query($query); $sequence++; } $form_message = getLanguageText('RECORDS-SORTED-MSG'); $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); case "sort-by-division": $results = db_query("SELECT * FROM classes WHERE school_num = $base_school_num ORDER BY cast(division AS unsigned), description"); // Update the sequence to avoid duplicate keys db_query("UPDATE classes SET sequence = sequence + 1000 WHERE school_num = $base_school_num"); $sequence = 1; while ($row = db_fetch_assoc($results)) { $rnum = $row['record_num']; $query = "update classes set sequence = $sequence where record_num = $rnum"; db_query($query); $sequence++; } $form_message = getLanguageText('RECORDS-SORTED-MSG'); $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); case "sort-by-program": $query = "SELECT cp.sequence,cp.program_name,c.grade,c.record_num FROM classes AS c, class_programs AS cp " . "WHERE c.school_num = $base_school_num " . "AND cp.school_num = $base_school_num " . "AND c.class_program = cp.record_num " . "ORDER BY cp.sequence,cast(grade AS unsigned), description"; $results = db_query($query); // Update the sequence to avoid duplicate keys db_query("UPDATE classes SET sequence = sequence + 1000 WHERE school_num = $base_school_num"); $sequence = 1; while ($row = db_fetch_assoc($results)) { $rnum = $row['record_num']; $query = "update classes set sequence = $sequence where record_num = $rnum"; db_query($query); $sequence++; } $form_message = getLanguageText('RECORDS-SORTED-MSG'); $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); case "delivery-groups": ?>

"); echo("" . getLanguageText('TEXT-CLASSES') . ""); echo("" . getLanguageText('TEXT-SORT-BY-DESCRIPTION') . ""); echo("" . getLanguageText('TEXT-SORT-BY-GRADE') . ""); echo("" . getLanguageText('TEXT-SORT-BY-DIVISION') . ""); echo(""); break; default: $naction = "list"; break; } // // List all records if naction is "list" // if ($naction == "list") { $scriptName = str_replace("/m/data1/app.hotlunches.net/","",__FILE__); include "help.docs.php"; if ($mode == 'classes') { // Determine if there are any class_programs defined $num_programs = db_getVal("select count(*) from class_programs where school_num = $school_num"); // Determine if there are any class_programs in use $programs_in_use = 0; if ($num_programs > 0) { $programs_in_use = db_getVal("select count(*) from classes where school_num = $school_num and class_program is not NULL"); } // Initialize the select clause $select = ""; $group_by = ""; $columnHeaders = array(); $columnAlign = array(); // Build select and headers array $numEntries = db_getVal("SELECT count(*) FROM classes WHERE school_num = $school_num AND division > '' AND division IS NOT NULL"); if ($school_record['i_display_division'] == 'Y' && $numEntries > 0) { if (strlen($select) > 0) $select .= ","; $select .= "division"; if (strlen($group_by) > 0) $group_by .= ","; $group_by .= "division"; $divText = getLanguageText('TEXT-DIVISION'); if (strlen($school_record['division_class_num_text']) > 0) $divText = $school_record['division_class_num_text']; $columnHeaders[] = $divText; $columnAlign[] = 'center'; } if ($programs_in_use > 0) { if (strlen($select) > 0) $select .= ","; $select .= "cp.program_name"; if (strlen($group_by) > 0) $group_by .= ","; $group_by .= "program_name"; $columnHeaders[] = getLanguageText('TEXT-PROGRAM'); $columnAlign[] = 'left'; } $numEntries = db_getVal("SELECT count(*) FROM classes WHERE school_num = $school_num AND grade > '' AND grade IS NOT NULL"); if ($school_record['i_display_grade'] == 'Y' && $numEntries > 0) { if (strlen($select) > 0) $select .= ","; $select .= "c.grade"; if (strlen($group_by) > 0) $group_by .= ","; $group_by .= "c.grade"; $classText = getLanguageText('TEXT-GRADE'); if (strlen($school_record['student_class_text']) > 0) $classText = $school_record['student_class_text']; $columnHeaders[] = $classText; $columnAlign[] = 'center'; } $numEntries = db_getVal("SELECT count(*) FROM classes WHERE school_num = $school_num AND description > '' AND description IS NOT NULL"); if ($school_record['i_display_description'] == 'Y' && $numEntries > 0) { if (strlen($select) > 0) $select .= ","; $select .= "description"; if (strlen($group_by) > 0) $group_by .= ","; $group_by .= "description"; $columnHeaders[] = getLanguageText('TEXT-DESCRIPTION'); $columnAlign[] = 'left'; } if (strlen($select) > 0) $select .= ","; $select .= "count(st.record_num)"; if (strlen($group_by) > 0) $group_by .= ","; $group_by .= "t1,t2,c.record_num"; $columnHeaders[] = $GlobalText['Students']; $columnAlign[] = 'center'; if ($siteType == 'hotlunch' || $siteType == 'fundraising') { $columnHeaders[] = getLanguageText('TEXT-LABEL'); $columnAlign[] = 'center'; if (strlen($select) > 0) $select .= ","; $select .= "label_description"; } $query = "SELECT count(distinct default_price_category) FROM classes WHERE school_num = $school_num AND entry_type = 'Class'"; echo("\n"); $num = db_getVal($query); if ($num > 1) { if (strlen($select) > 0) $select .= ","; $select .= "c.default_price_category"; $columnHeaders[] = getLanguageText('TEXT-PRICE-CATEGORY'); $columnAlign[] = 'center'; } if ($school_record['implement_delivery_groups'] == 'Y') { $columnHeaders[] = getLanguageText('TEXT-DELIVERY-GROUPS'); $columnAlign[] = 'center'; if (strlen($select) > 0) $select .= ","; $select .= "concat(c.delivery_group,' - ',dg.group_title)"; } $select .= ",concat_ws(' ',p1.title,p1.first_name,p1.last_name) as t1,concat_ws(' ',p2.title,p2.first_name,p2.last_name) as t2"; $numFirstTeachers = db_getVal("SELECT count(*) FROM classes WHERE school_num = $school_num AND teacher1 > '' AND teacher1 IS NOT NULL"); if ($numFirstTeachers > 0) { $columnHeaders[] = getLanguageText('TEXT-TEACHER'); $columnAlign[] = 'left'; } // Append additional "Teacher" column to header array if required (maximum 2 teachers listed) $numSecondTeachers = db_getVal("SELECT count(*) FROM classes WHERE school_num = $school_num AND teacher2 > '' AND teacher2 IS NOT NULL"); if ($numSecondTeachers > 0) { $columnHeaders[] = getLanguageText('TEXT-TEACHER'); $columnAlign[] = 'left'; } $query = "SELECT $select,c.record_num " . "FROM classes AS c LEFT JOIN people AS p1 ON p1.school_num = c.school_num AND c.teacher1 = p1.record_num " . "LEFT JOIN people AS p2 ON p2.school_num = c.school_num AND c.teacher2 = p2.record_num and c.display_teacher2 = 'Y' " . "LEFT JOIN people AS st ON st.school_num = c.school_num AND c.record_num = st.class_num and st.people_type = 'Student' " . "LEFT JOIN class_programs AS cp ON cp.school_num = c.school_num AND class_program = cp.record_num " . "LEFT JOIN delivery_groups AS dg ON dg.school_num = c.school_num AND c.delivery_group = dg.group_id " . "WHERE c.school_num = $school_num " . "AND entry_type = '$entry_type' " . "GROUP BY $group_by " . "ORDER BY c.sequence"; echo("\n"); } if ($mode == 'locations') { $columnHeaders = array(getLanguageText('TEXT-DESCRIPTION'), getLanguageText('TEXT-LABEL')); $columnAlign = array('left','left','center'); if ($school_record['implement_delivery_groups'] == 'Y') $columnHeaders[] = getLanguageText('TEXT-DELIVERY-GROUPS'); $query = "SELECT description, label_description, delivery_group, record_num " . "FROM classes " . "WHERE school_num = $school_num " . "AND entry_type = '$entry_type' " . "ORDER BY sequence"; } $results = db_query($query); $data = array(); $message_width = $default_data_width; include "form.messages.php"; echo("
\n"); if (isset($page_links) && strlen($page_links) > 0) echo("

$page_links

\n"); echo("
\n"); $students_icon = "Manage Students"; $list_icon = "Class Contact List"; $print_icon = "Print Class Contact"; $commands = array( "$students_icon", "$list_icon", "$print_icon" ); $customTableID = "classes-table"; $useRowIDS = true; include "table.dnd.php"; listData($results,$columnHeaders,$action,$commands,'Y',$columnAlign); if ($school_num == $base_school_num) { echo(""); echo(""); echo(""); echo(""); echo("
" . getLanguageText('TEXT-SORT-BY-DESCRIPTION') . "" . getLanguageText('TEXT-SORT-BY-GRADE') . "" . getLanguageText('TEXT-SORT-BY-DIVISION') . "
"); echo(""); if ($num_programs > 0) echo(""); if ($school_record['implement_delivery_groups'] == 'Y') echo(""); echo("
" . getLanguageText('TEXT-SORT-BY-PROGRAM') . "" . getLanguageText('TEXT-DELIVERY-GROUPS') . "
"); } echo("\n"); } endTemplate(); ?>