649 lines
27 KiB
Plaintext
649 lines
27 KiB
Plaintext
<?php
|
|
require_once("include/globals.php");
|
|
|
|
if (SessionActive() != 1 || ! UserLoggedIn()) {
|
|
header("Location: /");
|
|
exit();
|
|
}
|
|
|
|
|
|
//
|
|
// Process all actions to list and edit records
|
|
//
|
|
$CurrentTable = "classes";
|
|
$DeleteField = "division,grade";
|
|
$dSeparator = " ";
|
|
$FormFile = "classes.form.php";
|
|
$TitleText = getLanguageText('TEXT-CLASS');
|
|
$OrderBy = "sequence,grade";
|
|
$Sequence = 'Y';
|
|
|
|
// Start the template and output buffering
|
|
startTemplate();
|
|
$templatePageTitle = $GlobalText['ClassAdministration'];
|
|
|
|
$mode = "classes";
|
|
$entry_type = "Class";
|
|
if ($action == 'locations') {
|
|
$FormFile = "locations.form.php";
|
|
$mode = "locations";
|
|
$entry_type = "Location";
|
|
$templatePageTitle = getLanguageText('TEXT-DELIVERY-LOCATIONS');
|
|
}
|
|
|
|
|
|
// Ensure that only valid user types have access to this module
|
|
$AllowedUserTypes = array('SuperUser','System Administrator','Application Administrator','Administration Team','Communications Administrator');
|
|
if (checkPermission($AllowedUserTypes) != 1) {
|
|
$error_message = getLanguageText('ERRORMSG-ACCESS-DENIED');
|
|
include "form.messages.php";
|
|
endTemplate();
|
|
exit();
|
|
}
|
|
|
|
|
|
if (array_key_exists('naction',$_GET)) $naction = $_GET['naction'];
|
|
if (array_key_exists('naction',$_POST)) $naction = $_POST['naction'];
|
|
if (isset($new_naction)) $naction = $new_naction;
|
|
|
|
$school_num = $school_record['record_num'];
|
|
|
|
|
|
switch (strtolower($naction)) {
|
|
case "add":
|
|
$next_naction = "insert";
|
|
$active = 'Y';
|
|
|
|
include $FormFile;
|
|
break;
|
|
|
|
case "insert":
|
|
extract($_POST);
|
|
|
|
// Get new sequence number
|
|
if ($Sequence == 'Y') {
|
|
$query = "select max(sequence) sequence " .
|
|
"from $CurrentTable " .
|
|
"where school_num = $school_num";
|
|
$results = db_query($query);
|
|
$row = db_fetch_array($results);
|
|
$sequence = intval($row['sequence']) + 1;
|
|
}
|
|
|
|
$table = new Table("$CurrentTable");
|
|
|
|
// Save the record
|
|
$table = new Table("$CurrentTable");
|
|
$query = $table->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":
|
|
?>
|
|
<div id='classes-div'></div>
|
|
|
|
<script>
|
|
$(document).ready(function(){
|
|
|
|
<?php include "include/ajax.Setup.php" ?>
|
|
|
|
loadDeliveryClasses();
|
|
|
|
function loadDeliveryClasses() {
|
|
$("#classes-div").html("<p><b>Loading...</b></p>");
|
|
$.getJSON( "ajax.DataTable.Fetch.php",
|
|
{
|
|
table_name: "classes",
|
|
sequence_flag: "N",
|
|
action: "delivery-classes"
|
|
},
|
|
function(results) {
|
|
$("#classes-div").html(results.content);
|
|
}
|
|
);
|
|
}
|
|
|
|
$(document).on('change','.delivery-group', function() {
|
|
var rnum = $(this).attr('rnum');
|
|
var group = $(this).val();
|
|
|
|
var data = "table_name=classes"+
|
|
"&delivery_group="+group+
|
|
"&record_num="+rnum;
|
|
$.ajax({
|
|
url: "ajax.DataRecord.Update.php",
|
|
data: data
|
|
});
|
|
});
|
|
});
|
|
</script>
|
|
<br>
|
|
<?php
|
|
echo("<table cellpadding='5' cellspacing='2'><tr>");
|
|
echo("<td><a href='?action=classes&naction=list' class='largeButton'>" . getLanguageText('TEXT-CLASSES') . "</a></td>");
|
|
echo("<td><a href='?action=classes&naction=sort-by-description' class='largeButton'>" . getLanguageText('TEXT-SORT-BY-DESCRIPTION') . "</a></td>");
|
|
echo("<td><a href='?action=classes&naction=sort-by-grade' class='largeButton'>" . getLanguageText('TEXT-SORT-BY-GRADE') . "</a></td>");
|
|
echo("<td><a href='?action=classes&naction=sort-by-division' class='largeButton'>" . getLanguageText('TEXT-SORT-BY-DIVISION') . "</a></td>");
|
|
echo("</tr></table>");
|
|
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("<!-- PRICE QUERY: $query -->\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("<!-- QUERY: $query -->\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("<center>\n");
|
|
if (isset($page_links) && strlen($page_links) > 0) echo("<p>$page_links</p>\n");
|
|
echo("</center>\n");
|
|
|
|
$students_icon = "<img src='images/icons/groupofusers24.png' alt='Manage Students' border='0'>";
|
|
$list_icon = "<img src='images/icons/userid24.png' alt='Class Contact List' border='0'>";
|
|
$print_icon = "<img src='images/icons/printer24.png' alt='Print Class Contact' border='0'>";
|
|
|
|
$commands = array(
|
|
"<a href='?action=class-students&naction=list¤t_class_num=%d' title='Manage Students'>$students_icon</a>",
|
|
"<a href='?action=class-list&class_num=%d' title='Class Contact List'>$list_icon</a>",
|
|
"<a href='/class-list.print.php?class_num=%d' title='Class Contact List'>$print_icon</a>"
|
|
);
|
|
|
|
$customTableID = "classes-table";
|
|
$useRowIDS = true;
|
|
include "table.dnd.php";
|
|
listData($results,$columnHeaders,$action,$commands,'Y',$columnAlign);
|
|
|
|
if ($school_num == $base_school_num) {
|
|
echo("<table cellpadding='5' cellspacing='2'><tr>");
|
|
echo("<td><a href='?action=classes&naction=sort-by-description' class='largeButton'>" . getLanguageText('TEXT-SORT-BY-DESCRIPTION') . "</a></td>");
|
|
echo("<td><a href='?action=classes&naction=sort-by-grade' class='largeButton'>" . getLanguageText('TEXT-SORT-BY-GRADE') . "</a></td>");
|
|
echo("<td><a href='?action=classes&naction=sort-by-division' class='largeButton'>" . getLanguageText('TEXT-SORT-BY-DIVISION') . "</a></td>");
|
|
echo("</tr></table>");
|
|
echo("<table cellpadding='5' cellspacing='2'><tr>");
|
|
if ($num_programs > 0)
|
|
echo("<td><a href='?action=classes&naction=sort-by-program' class='largeButton'>" . getLanguageText('TEXT-SORT-BY-PROGRAM') . "</a></td>");
|
|
if ($school_record['implement_delivery_groups'] == 'Y')
|
|
echo("<td><a href='?action=classes&naction=delivery-groups' class='largeButton'>" . getLanguageText('TEXT-DELIVERY-GROUPS') . "</a></td>");
|
|
echo("</tr></table>");
|
|
}
|
|
|
|
echo("</center>\n");
|
|
}
|
|
|
|
|
|
endTemplate();
|
|
?>
|